2015-08-01 03:38:02 +02:00
{
2020-04-01 00:10:02 +02:00
"connectedSites" : {
"message" : "Connected Sites"
} ,
"connectedSitesDescription" : {
2020-04-08 14:44:38 +02:00
"message" : "$1 is connected to these sites. They can view your account address." ,
"description" : "$1 is the account name"
2020-04-01 00:10:02 +02:00
} ,
2020-04-08 14:44:54 +02:00
"connectedSitesEmptyDescription" : {
"message" : "$1 is not connected to any sites." ,
"description" : "$1 is the account name"
} ,
2020-04-01 00:10:02 +02:00
"connectManually" : {
"message" : "Manually connect to current site"
} ,
"disconnect" : {
"message" : "Disconnect"
} ,
"disconnectSite" : {
"message" : "Disconnect $1?"
} ,
"disconnectAccountConfirmationDescription" : {
"message" : "Are you sure you want to disconnect? You may lose site functionality."
} ,
2020-04-22 19:11:36 +02:00
"dismiss" : {
"message" : "Dismiss"
} ,
2019-08-21 20:42:14 +02:00
"showIncomingTransactions" : {
"message" : "Show Incoming Transactions"
} ,
"showIncomingTransactionsDescription" : {
"message" : "Select this to use Etherscan to show incoming transactions in the transactions list"
} ,
2020-04-02 11:09:53 +02:00
"cancelling" : {
"message" : "Cancelling..."
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"cancelledConnectionWithMetaMask" : {
"message" : "Cancelled Connection With MetaMask"
} ,
2019-03-22 15:50:12 +01:00
"chartOnlyAvailableEth" : {
"message" : "Chart only available on Ethereum networks."
} ,
2020-04-02 11:09:53 +02:00
"connecting" : {
"message" : "Connecting..."
} ,
"connectWithMetaMask" : {
"message" : "Connect With MetaMask"
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"connectingWithMetaMask" : {
"message" : "Connecting With MetaMask..."
2019-08-15 23:07:18 +02:00
} ,
2020-04-02 11:09:53 +02:00
"connectTo" : {
"message" : "Connect to $1" ,
"description" : "$1 is the name/origin of a site/dapp that the user can connect to metamask"
} ,
2020-04-02 17:17:10 +02:00
"connectToAll" : {
"message" : "Connect to all your $1" ,
"description" : "$1 will be replaced by the translation of connectToAllAccounts"
} ,
"connectToAllAccounts" : {
"message" : "accounts" ,
"description" : "will replace $1 in connectToAll, completing the sentence 'connect to all of your accounts', will be text that shows list of accounts on hover"
} ,
2020-04-02 11:09:53 +02:00
"connectToMultiple" : {
2020-04-02 17:17:10 +02:00
"message" : "Connect to $1" ,
"description" : "$1 will be replaced by the translation of connectToMultipleNumberOfAccounts"
} ,
"connectToMultipleNumberOfAccounts" : {
"message" : "$1 accounts" ,
"description" : "$1 is the number of accounts to which the site/dapp is asking to connect; this will substitute $1 in connectToMultiple"
2019-08-15 23:07:18 +02:00
} ,
2018-12-09 21:48:06 +01:00
"contractInteraction" : {
"message" : "Contract Interaction"
} ,
2018-09-27 20:19:09 +02:00
"reject" : {
"message" : "Reject"
} ,
2019-03-29 17:24:03 +01:00
"about" : {
"message" : "About"
} ,
"aboutSettingsDescription" : {
2019-11-21 22:39:29 +01:00
"message" : "Version, support center, and contact info"
2019-03-29 17:24:03 +01:00
} ,
2018-12-12 17:13:53 +01:00
"acceleratingATransaction" : {
"message" : "* Accelerating a transaction by using a higher gas price increases its chances of getting processed by the network faster, but it is not always guaranteed."
} ,
2019-11-05 16:13:48 +01:00
"accessAndSpendNotice" : {
"message" : "$1 may access and spend up to this max amount" ,
"description" : "$1 is the url of the site requesting ability to spend"
} ,
2018-07-30 23:50:05 +02:00
"accessingYourCamera" : {
2018-10-09 16:47:38 +02:00
"message" : "Accessing your camera..."
2018-07-30 23:50:05 +02:00
} ,
2018-01-24 09:14:47 +01:00
"account" : {
2018-01-29 21:29:01 +01:00
"message" : "Account"
2018-01-24 09:14:47 +01:00
} ,
2018-01-29 21:29:01 +01:00
"accountDetails" : {
2018-01-24 09:14:47 +01:00
"message" : "Account Details"
} ,
"accountName" : {
"message" : "Account Name"
} ,
2018-10-10 15:49:04 +02:00
"accountOptions" : {
"message" : "Account Options"
} ,
2018-07-02 21:16:05 +02:00
"accountSelectionRequired" : {
"message" : "You need to select an account!"
} ,
2018-08-26 03:00:38 +02:00
"activityLog" : {
"message" : "activity log"
} ,
2019-05-09 19:27:14 +02:00
"addNetwork" : {
"message" : "Add Network"
} ,
2019-07-31 21:56:44 +02:00
"addRecipient" : {
"message" : "Add Recipient"
} ,
2019-03-25 17:13:23 +01:00
"advanced" : {
"message" : "Advanced"
} ,
"advancedSettingsDescription" : {
2019-11-21 22:39:29 +01:00
"message" : "Access developer features, download State Logs, Reset Account, setup testnets and custom RPC"
2019-03-25 17:13:23 +01:00
} ,
2018-09-20 06:16:43 +02:00
"advancedOptions" : {
"message" : "Advanced Options"
} ,
2019-07-31 21:56:44 +02:00
"addToAddressBook" : {
"message" : "Add to address book"
} ,
"addToAddressBookModalPlaceholder" : {
"message" : "e.g. John D."
} ,
"addAlias" : {
"message" : "Add alias"
} ,
2018-01-24 09:14:47 +01:00
"addToken" : {
"message" : "Add Token"
} ,
2018-03-16 00:05:49 +01:00
"addTokens" : {
"message" : "Add Tokens"
} ,
2018-08-07 02:03:49 +02:00
"addSuggestedTokens" : {
"message" : "Add Suggested Tokens"
} ,
2018-05-20 08:04:19 +02:00
"addAcquiredTokens" : {
"message" : "Add the tokens you've acquired using MetaMask"
} ,
2019-11-05 16:13:48 +01:00
"allowOriginSpendToken" : {
"message" : "Allow $1 to spend your $2?" ,
"description" : "$1 is the url of the site and $2 is the symbol of the token they are requesting to spend"
} ,
"allowWithdrawAndSpend" : {
"message" : "Allow $1 to withdraw and spend up to the following amount:" ,
"description" : "The url of the site that requested permission to 'withdraw and spend'"
} ,
2018-01-29 21:29:01 +01:00
"amount" : {
"message" : "Amount"
} ,
2019-11-05 16:13:48 +01:00
"amountWithColon" : {
"message" : "Amount:"
} ,
2015-08-01 03:38:02 +02:00
"appDescription" : {
2019-01-05 20:10:47 +01:00
"message" : "An Ethereum Wallet in your Browser" ,
2015-08-01 03:38:02 +02:00
"description" : "The description of the application"
2018-01-23 10:48:03 +01:00
} ,
2018-01-24 09:14:47 +01:00
"appName" : {
"message" : "MetaMask" ,
"description" : "The name of the application"
2018-01-23 10:48:03 +01:00
} ,
2018-06-23 08:52:45 +02:00
"approve" : {
"message" : "Approve"
} ,
2018-03-20 20:06:59 +01:00
"approved" : {
"message" : "Approved"
} ,
2019-04-17 21:15:13 +02:00
"asset" : {
"message" : "Asset"
} ,
2018-01-24 09:14:47 +01:00
"attemptingConnect" : {
"message" : "Attempting to connect to blockchain."
2018-01-23 10:48:03 +01:00
} ,
2018-09-17 19:34:29 +02:00
"attemptToCancel" : {
"message" : "Attempt to Cancel?"
} ,
"attemptToCancelDescription" : {
2018-10-04 19:56:58 +02:00
"message" : "Submitting this attempt does not guarantee your original transaction will be cancelled. If the cancellation attempt is successful, you will be charged the transaction fee above."
2018-09-17 19:34:29 +02:00
} ,
2018-03-16 00:05:49 +01:00
"attributions" : {
"message" : "Attributions"
} ,
2020-01-21 23:09:53 +01:00
"autoLockTimeLimit" : {
"message" : "Auto-Lock Timer (minutes)"
2019-05-08 20:57:21 +02:00
} ,
2020-01-21 23:09:53 +01:00
"autoLockTimeLimitDescription" : {
"message" : "Set the idle time in minutes before MetaMask will become locked."
2019-05-08 20:57:21 +02:00
} ,
2018-09-13 14:35:17 +02:00
"average" : {
"message" : "Average"
} ,
2018-01-24 09:14:47 +01:00
"back" : {
"message" : "Back"
2018-01-23 10:48:03 +01:00
} ,
2019-07-31 21:56:44 +02:00
"backToAll" : {
"message" : "Back to All"
} ,
2019-08-02 22:31:26 +02:00
"backupApprovalNotice" : {
"message" : "Backup your Secret Recovery code to keep your wallet and funds secure."
} ,
"backupApprovalInfo" : {
"message" : "This secret code is required to recover your wallet in case you lose your device, forget your password, have to re-install MetaMask, or want to access your wallet on another device."
} ,
2019-08-02 05:57:26 +02:00
"backupNow" : {
"message" : "Backup now"
} ,
2018-01-24 09:14:47 +01:00
"balance" : {
2018-05-20 08:04:19 +02:00
"message" : "Balance"
2018-01-24 09:14:47 +01:00
} ,
2019-01-30 13:16:12 +01:00
"balanceOutdated" : {
"message" : "Balance may be outdated"
} ,
2018-07-31 04:28:05 +02:00
"basic" : {
"message" : "Basic"
} ,
2019-05-09 19:27:14 +02:00
"blockExplorerUrl" : {
"message" : "Block Explorer"
} ,
"blockExplorerView" : {
"message" : "View account at $1" ,
"description" : "$1 replaced by URL for custom block explorer"
} ,
2018-03-16 00:05:49 +01:00
"blockiesIdenticon" : {
2018-03-16 18:00:27 +01:00
"message" : "Use Blockies Identicon"
2018-03-16 00:05:49 +01:00
} ,
2019-09-27 06:30:36 +02:00
"nonceField" : {
"message" : "Customize transaction nonce"
} ,
"nonceFieldHeading" : {
"message" : "Custom Nonce"
} ,
"nonceFieldDescription" : {
"message" : "Turn this on to change the nonce (transaction number) on confirmation screens. This is an advanced feature, use cautiously."
} ,
2018-07-05 23:04:36 +02:00
"browserNotSupported" : {
2018-10-09 16:47:38 +02:00
"message" : "Your Browser is not supported..."
2018-07-05 23:04:36 +02:00
} ,
2018-03-16 00:05:49 +01:00
"builtInCalifornia" : {
"message" : "MetaMask is designed and built in California."
} ,
2019-03-22 16:02:07 +01:00
"buyWithWyre" : {
"message" : "Buy ETH with Wyre"
} ,
"buyWithWyreDescription" : {
2019-12-13 00:22:44 +01:00
"message" : "Wyre lets you use a debit card to deposit ETH right in to your MetaMask account."
2019-03-29 03:20:19 +01:00
} ,
2018-10-22 13:14:21 +02:00
"buyCoinSwitch" : {
"message" : "Buy on CoinSwitch"
} ,
"buyCoinSwitchExplainer" : {
"message" : "CoinSwitch is the one-stop destination to exchange more than 300 cryptocurrencies at the best rate."
2019-03-22 16:02:07 +01:00
} ,
2018-06-23 08:52:45 +02:00
"bytes" : {
"message" : "Bytes"
} ,
2019-07-08 19:58:35 +02:00
"off" : {
"message" : "Off"
} ,
2018-03-19 19:43:22 +01:00
"ok" : {
2018-03-19 20:37:10 +01:00
"message" : "Ok"
2018-03-19 19:43:22 +01:00
} ,
2019-07-08 19:58:35 +02:00
"on" : {
"message" : "On"
} ,
2019-05-09 19:27:14 +02:00
"optionalBlockExplorerUrl" : {
"message" : "Block Explorer URL (optional)"
} ,
2018-01-24 09:14:47 +01:00
"cancel" : {
"message" : "Cancel"
} ,
2018-09-17 19:34:29 +02:00
"cancelAttempt" : {
"message" : "Cancel Attempt"
} ,
"cancellationGasFee" : {
"message" : "Cancellation Gas Fee"
} ,
2018-12-09 21:48:06 +01:00
"cancelled" : {
"message" : "Cancelled"
} ,
2019-05-09 19:27:14 +02:00
"chainId" : {
"message" : "Chain ID"
} ,
2020-04-02 11:09:53 +02:00
"chooseAccountsToUse" : {
"message" : "Choose the account(s) to use on this site"
} ,
2019-01-23 16:25:34 +01:00
"clickToRevealSeed" : {
"message" : "Click here to reveal secret words"
} ,
2018-04-22 09:14:40 +02:00
"close" : {
"message" : "Close"
} ,
2018-10-10 13:55:11 +02:00
"chromeRequiredForHardwareWallets" : {
2018-08-15 17:44:00 +02:00
"message" : "You need to use MetaMask on Google Chrome in order to connect to your Hardware Wallet."
2018-07-05 23:04:36 +02:00
} ,
2018-01-24 09:14:47 +01:00
"confirm" : {
"message" : "Confirm"
} ,
2018-03-20 18:29:22 +01:00
"confirmed" : {
"message" : "Confirmed"
} ,
2018-01-23 10:48:03 +01:00
"confirmPassword" : {
"message" : "Confirm Password"
} ,
2019-01-23 16:25:34 +01:00
"confirmSecretBackupPhrase" : {
"message" : "Confirm your Secret Backup Phrase"
} ,
2019-02-27 15:46:41 +01:00
"congratulations" : {
"message" : "Congratulations"
} ,
2020-04-02 11:09:53 +02:00
"connectAccountOrCreate" : {
"message" : "Connect account or create new"
} ,
2018-07-19 04:57:47 +02:00
"connectHardwareWallet" : {
2018-07-14 01:47:45 +02:00
"message" : "Connect Hardware Wallet"
2018-06-10 09:52:32 +02:00
} ,
"connect" : {
"message" : "Connect"
} ,
2018-12-05 13:34:19 +01:00
"connectingTo" : {
"message" : "Connecting to $1"
} ,
2018-10-09 16:47:38 +02:00
"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"
} ,
2019-04-10 23:34:13 +02:00
"connectingToLocalhost" : {
"message" : "Connecting to Localhost 8545"
} ,
2019-04-17 19:34:49 +02:00
"connectingToGoerli" : {
"message" : "Connecting to Goerli Test Network"
} ,
2019-08-15 15:03:36 +02:00
"contacts" : {
"message" : "Contacts"
2019-07-31 21:56:44 +02:00
} ,
2019-08-15 15:03:36 +02:00
"contactsSettingsDescription" : {
2019-07-31 21:56:44 +02:00
"message" : "Add, edit, remove, and manage your contacts"
} ,
2019-03-22 16:02:07 +01:00
"continueToWyre" : {
"message" : "Continue to Wyre"
} ,
2018-10-22 13:14:21 +02:00
"continueToCoinSwitch" : {
"message" : "Continue to CoinSwitch"
} ,
2018-03-07 01:15:45 +01:00
"contractDeployment" : {
"message" : "Contract Deployment"
2018-01-23 10:48:03 +01:00
} ,
2018-01-24 09:14:47 +01:00
"copiedExclamation" : {
"message" : "Copied!"
} ,
2018-06-23 08:52:45 +02:00
"copyAddress" : {
"message" : "Copy address to clipboard"
} ,
2019-02-17 05:30:02 +01:00
"copyTransactionId" : {
"message" : "Copy Transaction ID"
} ,
"copiedTransactionId" : {
"message" : "Copied Transaction ID"
} ,
2018-03-07 01:15:45 +01:00
"copyToClipboard" : {
"message" : "Copy to clipboard"
2018-01-24 09:14:47 +01:00
} ,
"copyPrivateKey" : {
"message" : "This is your private key (click to copy)"
2018-01-23 10:48:03 +01:00
} ,
2018-01-29 21:29:01 +01:00
"create" : {
"message" : "Create"
} ,
2018-01-23 10:48:03 +01:00
"createAccount" : {
"message" : "Create Account"
} ,
2019-02-27 15:46:41 +01:00
"createAWallet" : {
"message" : "Create a Wallet"
} ,
2019-01-23 16:25:34 +01:00
"createPassword" : {
"message" : "Create Password"
} ,
2019-01-17 16:07:38 +01:00
"currencyConversion" : {
"message" : "Currency Conversion"
2018-03-16 00:05:49 +01:00
} ,
2018-09-12 02:32:37 +02:00
"currentLanguage" : {
2018-09-21 00:53:53 +02:00
"message" : "Current Language"
2018-09-12 02:32:37 +02:00
} ,
2018-01-24 09:14:47 +01:00
"customGas" : {
"message" : "Customize Gas"
2018-01-23 10:48:03 +01:00
} ,
2018-07-31 04:28:05 +02:00
"customGasSubTitle" : {
"message" : "Increasing fee may decrease processing times, but it is not guaranteed."
} ,
2018-03-24 04:43:43 +01:00
"customToken" : {
"message" : "Custom Token"
} ,
2018-01-24 09:14:47 +01:00
"customRPC" : {
"message" : "Custom RPC"
2018-01-23 10:48:03 +01:00
} ,
2019-11-05 16:13:48 +01:00
"customSpendLimit" : {
"message" : "Custom Spend Limit"
} ,
2019-09-16 19:11:01 +02:00
"dataBackupFoundInfo" : {
2020-02-19 19:24:16 +01:00
"message" : "Some of your account data was backed up during a previous installation of MetaMask. This could include your settings, contacts, and tokens. Would you like to restore this data now?"
2019-09-16 19:11:01 +02:00
} ,
2018-03-16 00:05:49 +01:00
"decimalsMustZerotoTen" : {
"message" : "Decimals must be at least 0, and not over 36."
} ,
"decimal" : {
"message" : "Decimals of Precision"
2018-03-20 21:01:08 +01:00
} ,
2018-01-24 09:14:47 +01:00
"defaultNetwork" : {
"message" : "The default network for Ether transactions is Main Net."
2018-01-23 10:48:03 +01:00
} ,
2019-06-17 16:05:47 +02:00
"delete" : {
"message" : "Delete"
} ,
2019-07-31 21:56:44 +02:00
"deleteAccount" : {
"message" : "Delete Account"
} ,
2018-01-24 09:14:47 +01:00
"deposit" : {
"message" : "Deposit"
2018-01-23 10:48:03 +01:00
} ,
2018-01-24 09:14:47 +01:00
"depositEther" : {
"message" : "Deposit Ether"
} ,
2018-01-29 21:29:01 +01:00
"details" : {
"message" : "Details"
2018-01-24 09:14:47 +01:00
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"disconnectAll" : {
"message" : "Disconnect All"
} ,
"disconnectAllModalDescription" : {
"message" : "Are you sure? You will be disconnected from all sites on all accounts."
} ,
"disconnectAllAccountsQuestion" : {
"message" : "Disconnect all accounts?"
} ,
2018-01-24 09:14:47 +01:00
"directDepositEther" : {
"message" : "Directly Deposit Ether"
} ,
"directDepositEtherExplainer" : {
"message" : "If you already have some Ether, the quickest way to get Ether in your new wallet by direct deposit."
} ,
"done" : {
"message" : "Done"
} ,
2018-07-05 23:04:36 +02:00
"downloadGoogleChrome" : {
"message" : "Download Google Chrome"
} ,
2019-01-23 16:25:34 +01:00
"downloadSecretBackup" : {
"message" : "Download this Secret Backup Phrase and keep it stored safely on an external encrypted hard drive or storage medium."
} ,
2018-03-22 01:41:47 +01:00
"downloadStateLogs" : {
2018-03-16 00:05:49 +01:00
"message" : "Download State Logs"
} ,
2018-08-17 01:39:52 +02:00
"dontHaveAHardwareWallet" : {
"message" : "Don’ t have a hardware wallet?"
2018-07-19 04:57:47 +02:00
} ,
2018-03-20 20:06:59 +01:00
"dropped" : {
"message" : "Dropped"
} ,
2018-01-29 21:29:01 +01:00
"edit" : {
"message" : "Edit"
} ,
2019-09-19 01:29:46 +02:00
"editContact" : {
2019-07-31 21:56:44 +02:00
"message" : "Edit Contact"
} ,
2019-11-05 16:13:48 +01:00
"editPermission" : {
"message" : "Edit Permission"
} ,
2018-03-16 00:05:49 +01:00
"emailUs" : {
"message" : "Email us!"
} ,
2019-02-27 15:46:41 +01:00
"endOfFlowMessage1" : {
"message" : "You passed the test - keep your seedphrase safe, it's your responsibility!"
} ,
"endOfFlowMessage2" : {
"message" : "Tips on storing it safely"
} ,
"endOfFlowMessage3" : {
2019-03-05 16:45:01 +01:00
"message" : "Save a backup in multiple places."
2019-02-27 15:46:41 +01:00
} ,
"endOfFlowMessage4" : {
2019-03-05 16:45:01 +01:00
"message" : "Never share the phrase with anyone."
2019-02-27 15:46:41 +01:00
} ,
"endOfFlowMessage5" : {
2019-03-05 16:45:01 +01:00
"message" : "Be careful of phishing! MetaMask will never spontaneously ask for your seed phrase."
2019-02-27 15:46:41 +01:00
} ,
"endOfFlowMessage6" : {
2019-05-21 14:59:09 +02:00
"message" : "If you need to back up your seed phrase again, you can find it in Settings -> Security."
2019-03-05 16:45:01 +01:00
} ,
"endOfFlowMessage7" : {
"message" : "If you ever have questions or see something fishy, email support@metamask.io."
} ,
"endOfFlowMessage8" : {
2019-08-15 20:43:08 +02:00
"message" : "MetaMask cannot recover your seedphrase."
2019-02-27 15:46:41 +01:00
} ,
2019-07-15 04:22:20 +02:00
"endOfFlowMessage9" : {
"message" : "Learn more."
} ,
"endOfFlowMessage10" : {
"message" : "All Done"
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"externalExtension" : {
"message" : "External Extension"
} ,
2019-11-22 18:03:51 +01:00
"onboardingReturnNotice" : {
"message" : "\"$1\" will close this tab and direct back to $2" ,
"description" : "Return the user to the site that initiated onboarding"
} ,
2019-07-31 21:56:44 +02:00
"ensRegistrationError" : {
"message" : "Error in ENS name registration"
} ,
"ensNotFoundOnCurrentNetwork" : {
"message" : "ENS name not found on the current network. Try switching to Main Ethereum Network."
} ,
"enterAnAlias" : {
"message" : "Enter an alias"
} ,
2019-11-05 16:13:48 +01:00
"enterMaxSpendLimit" : {
"message" : "Enter Max Spend Limit"
} ,
2018-01-24 09:14:47 +01:00
"enterPassword" : {
"message" : "Enter password"
} ,
2018-04-22 09:14:40 +02:00
"enterPasswordContinue" : {
"message" : "Enter password to continue"
} ,
2020-01-24 22:11:02 +01:00
"errorCode" : {
"message" : "Code: $1" ,
"description" : "Displayed error code for debugging purposes. $1 is the error code"
} ,
"errorDetails" : {
"message" : "Error Details" ,
"description" : "Title for collapsible section that displays error details for debugging purposes"
} ,
"errorMessage" : {
"message" : "Message: $1" ,
"description" : "Displayed error message for debugging purposes. $1 is the error message"
} ,
"errorName" : {
"message" : "Code: $1" ,
"description" : "Displayed error name for debugging purposes. $1 is the error name"
} ,
"errorPageTitle" : {
"message" : "MetaMask encountered an error" ,
"description" : "Title of generic error page"
} ,
"errorPageMessage" : {
"message" : "Try again by reloading the page, or contact support at support@metamask.io" ,
"description" : "Message displayed on generic error page in the fullscreen or notification UI"
} ,
"errorPagePopupMessage" : {
"message" : "Try again by closing and reopening the popup, or contact support at support@metamask.io" ,
"description" : "Message displayed on generic error page in the popup UI"
} ,
"errorStack" : {
"message" : "Stack:" ,
"description" : "Title for error stack, which is displayed for debugging purposes"
} ,
2019-07-31 21:56:44 +02:00
"ethereumPublicAddress" : {
"message" : "Ethereum Public Address"
} ,
2018-01-24 09:14:47 +01:00
"etherscanView" : {
"message" : "View account on Etherscan"
} ,
2018-12-12 17:13:53 +01:00
"estimatedProcessingTimes" : {
"message" : "Estimated Processing Times"
} ,
2018-10-03 03:29:03 +02:00
"expandView" : {
"message" : "Expand View"
} ,
2018-01-24 09:14:47 +01:00
"exportPrivateKey" : {
"message" : "Export Private Key"
} ,
"failed" : {
"message" : "Failed"
} ,
2020-04-29 19:10:51 +02:00
"failureMessage" : {
"message" : "Something went wrong, and we were unable to complete the action"
} ,
2018-09-13 14:35:17 +02:00
"fast" : {
"message" : "Fast"
} ,
2018-12-12 17:13:53 +01:00
"faster" : {
"message" : "Faster"
} ,
2019-11-05 16:13:48 +01:00
"feeAssociatedRequest" : {
"message" : "A fee is associated with this request."
} ,
2018-01-29 21:29:01 +01:00
"fiat" : {
2018-10-17 01:03:29 +02:00
"message" : "Fiat" ,
2018-01-29 21:29:01 +01:00
"description" : "Exchange type"
} ,
2018-01-24 09:14:47 +01:00
"fileImportFail" : {
2018-01-29 21:29:01 +01:00
"message" : "File import not working? Click here!" ,
"description" : "Helps user import their account from a JSON file"
2018-01-24 09:14:47 +01:00
} ,
2018-07-12 03:21:36 +02:00
"forgetDevice" : {
"message" : "Forget this device"
} ,
2018-01-24 09:14:47 +01:00
"from" : {
"message" : "From"
} ,
2019-11-05 16:13:48 +01:00
"functionApprove" : {
"message" : "Function: Approve"
} ,
2018-06-23 08:52:45 +02:00
"functionType" : {
"message" : "Function Type"
} ,
2018-01-23 10:48:03 +01:00
"gasLimit" : {
"message" : "Gas Limit"
} ,
2019-02-06 01:24:28 +01:00
"gasLimitInfoModalContent" : {
"message" : "Gas limit is the maximum amount of units of gas you are willing to spend."
} ,
2018-01-24 09:14:47 +01:00
"gasLimitTooLow" : {
"message" : "Gas limit must be at least 21000"
} ,
2018-10-16 00:00:47 +02:00
"gasUsed" : {
"message" : "Gas Used"
} ,
2018-01-23 10:48:03 +01:00
"gasPrice" : {
"message" : "Gas Price (GWEI)"
} ,
2018-12-12 17:13:53 +01:00
"gasPriceExtremelyLow" : {
"message" : "Gas Price Extremely Low"
} ,
2019-02-06 01:24:28 +01:00
"gasPriceInfoModalContent" : {
"message" : "Gas price specifies the amount of Ether you are willing to pay for each unit of gas."
} ,
2018-08-07 16:57:42 +02:00
"gasPriceNoDenom" : {
"message" : "Gas Price"
} ,
2020-03-11 16:00:05 +01:00
"gdprMessage" : {
"message" : "This data is aggregated and is therefore anonymous for the purposes of General Data Protection Regulation (EU) 2016/679. For more information in relation to our privacy practices, please see our $1." ,
"description" : "$1 refers to the gdprMessagePrivacyPolicy message, the translation of which is meant to be used exclusively in the context of gdprMessage"
} ,
"gdprMessagePrivacyPolicy" : {
"message" : "Privacy Policy here" ,
"description" : "this translation is intended to be exclusively used as the replacement for the $1 in the gdprMessage translation"
} ,
2019-03-25 17:13:23 +01:00
"general" : {
"message" : "General"
} ,
"generalSettingsDescription" : {
"message" : "Currency conversion, primary currency, language, blockies identicon"
} ,
2018-01-24 09:14:47 +01:00
"getEther" : {
"message" : "Get Ether"
2018-01-23 10:48:03 +01:00
} ,
2018-01-29 21:29:01 +01:00
"getEtherFromFaucet" : {
"message" : "Get Ether from a faucet for the $1" ,
"description" : "Displays network name for Ether faucet"
} ,
2018-07-19 04:57:47 +02:00
"getHelp" : {
"message" : "Get Help."
2018-07-13 19:49:20 +02:00
} ,
2019-02-27 15:46:41 +01:00
"getStarted" : {
"message" : "Get Started"
} ,
"happyToSeeYou" : {
"message" : "We’ re happy to see you."
} ,
2018-07-10 06:20:00 +02:00
"hardware" : {
"message" : "hardware"
} ,
2018-07-19 08:31:13 +02:00
"hardwareWalletConnected" : {
"message" : "Hardware wallet connected"
} ,
2018-08-15 01:22:00 +02:00
"hardwareWallets" : {
2018-08-17 01:39:52 +02:00
"message" : "Connect a hardware wallet"
2018-07-19 04:57:47 +02:00
} ,
2018-08-15 01:22:00 +02:00
"hardwareWalletsMsg" : {
2018-08-17 01:39:52 +02:00
"message" : "Select a hardware wallet you'd like to use with MetaMask"
2018-07-19 04:57:47 +02:00
} ,
"havingTroubleConnecting" : {
"message" : "Having trouble connecting?"
} ,
2018-01-24 09:14:47 +01:00
"here" : {
2018-01-29 21:29:01 +01:00
"message" : "here" ,
"description" : "as in -click here- for more information (goes with troubleTokenBalances)"
2018-01-24 09:14:47 +01:00
} ,
2018-06-23 08:52:45 +02:00
"hexData" : {
"message" : "Hex Data"
} ,
2018-01-29 21:29:01 +01:00
"hide" : {
"message" : "Hide"
2018-01-24 09:14:47 +01:00
} ,
"hideToken" : {
"message" : "Hide Token"
} ,
"hideTokenPrompt" : {
"message" : "Hide Token?"
} ,
2018-07-31 07:03:20 +02:00
"history" : {
"message" : "History"
} ,
2018-01-24 09:14:47 +01:00
"import" : {
2018-01-29 21:29:01 +01:00
"message" : "Import" ,
"description" : "Button to import an account from a selected file"
2018-01-23 10:48:03 +01:00
} ,
2018-01-24 09:14:47 +01:00
"importAccount" : {
"message" : "Import Account"
} ,
2018-03-16 00:05:49 +01:00
"importAccountMsg" : {
2018-10-10 13:55:11 +02:00
"message" : " Imported accounts will not be associated with your originally created MetaMask account seedphrase. Learn more about imported accounts "
2018-03-16 00:05:49 +01:00
} ,
2019-01-23 16:25:34 +01:00
"importAccountSeedPhrase" : {
"message" : "Import an Account with Seed Phrase"
} ,
2019-02-27 15:46:41 +01:00
"importWallet" : {
"message" : "Import Wallet"
} ,
2019-03-05 16:45:01 +01:00
"importYourExisting" : {
"message" : "Import your existing wallet using a 12 word seed phrase"
} ,
2018-01-29 21:29:01 +01:00
"imported" : {
"message" : "Imported" ,
"description" : "status showing that an account has been fully loaded into the keyring"
2018-01-24 09:14:47 +01:00
} ,
2018-05-11 01:51:26 +02:00
"importUsingSeed" : {
"message" : "Import using account seed phrase"
} ,
2018-01-24 09:14:47 +01:00
"infoHelp" : {
"message" : "Info & Help"
} ,
2018-05-29 19:23:06 +02:00
"initialTransactionConfirmed" : {
"message" : "Your initial transaction was confirmed by the network. Click OK to go back."
} ,
2018-12-12 17:13:53 +01:00
"insufficientBalance" : {
"message" : "Insufficient balance."
} ,
2018-03-16 00:05:49 +01:00
"insufficientFunds" : {
"message" : "Insufficient funds."
} ,
"insufficientTokens" : {
"message" : "Insufficient tokens."
} ,
2018-01-24 09:14:47 +01:00
"invalidAddress" : {
"message" : "Invalid address"
} ,
2018-03-16 00:05:49 +01:00
"invalidAddressRecipient" : {
"message" : "Recipient address is invalid"
} ,
2019-01-22 20:05:59 +01:00
"knownAddressRecipient" : {
"message" : "Known contract address."
} ,
2020-02-14 21:32:56 +01:00
"knownTokenWarning" : {
"message" : "This action will edit tokens that are already listed in your wallet, which can be used to phish you. Only approve if you are certain that you mean to change what these tokens represent."
} ,
"reusedTokenNameWarning" : {
"message" : "A token here reuses a symbol from another token you watch, this can be confusing or deceptive."
} ,
2019-02-13 21:30:46 +01:00
"invalidAddressRecipientNotEthNetwork" : {
"message" : "Not ETH network, set to lowercase"
} ,
2018-01-24 09:14:47 +01:00
"invalidInput" : {
"message" : "Invalid input."
} ,
2018-03-16 00:05:49 +01:00
"invalidRPC" : {
2018-10-09 16:47:38 +02:00
"message" : "Invalid RPC URL"
2018-03-16 00:05:49 +01:00
} ,
2019-09-18 15:57:18 +02:00
"invalidBlockExplorerURL" : {
"message" : "Invalid Block Explorer URL"
} ,
2018-08-07 06:37:16 +02:00
"invalidSeedPhrase" : {
"message" : "Invalid seed phrase"
} ,
2019-12-12 20:28:07 +01:00
"ipfsGateway" : {
"message" : "IPFS Gateway"
} ,
"ipfsGatewayDescription" : {
"message" : "Enter the URL of the IPFS CID gateway to use for ENS content resolution."
} ,
"invalidIpfsGateway" : {
"message" : "Invalid IPFS Gateway: The value must be a valid URL"
} ,
"forbiddenIpfsGateway" : {
"message" : "Forbidden IPFS Gateway: Please specify a CID gateway"
} ,
2018-01-29 21:29:01 +01:00
"jsonFile" : {
"message" : "JSON File" ,
"description" : "format for importing an account"
} ,
2018-01-24 09:14:47 +01:00
"kovan" : {
"message" : "Kovan Test Network"
} ,
2018-03-19 20:37:10 +01:00
"max" : {
"message" : "Max"
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"lastConnected" : {
"message" : "Last Connected"
} ,
2018-03-24 04:43:43 +01:00
"learnMore" : {
2018-07-19 04:57:47 +02:00
"message" : "Learn more"
2018-03-24 04:43:43 +01:00
} ,
2018-08-14 07:26:18 +02:00
"ledgerAccountRestriction" : {
"message" : "You need to make use your last account before you can add a new one."
} ,
2019-02-27 15:46:41 +01:00
"letsGoSetUp" : {
"message" : "Yes, let’ s get set up!"
} ,
2018-03-16 00:05:49 +01:00
"likeToAddTokens" : {
"message" : "Would you like to add these tokens?"
} ,
2018-03-20 18:56:35 +01:00
"links" : {
"message" : "Links"
} ,
2018-12-12 17:13:53 +01:00
"liveGasPricePredictions" : {
"message" : "Live Gas Price Predictions"
} ,
2018-01-24 09:14:47 +01:00
"loading" : {
"message" : "Loading..."
} ,
"loadingTokens" : {
"message" : "Loading Tokens..."
} ,
2019-07-31 21:56:44 +02:00
"loadMore" : {
"message" : "Load More"
} ,
2018-01-24 09:14:47 +01:00
"localhost" : {
"message" : "Localhost 8545"
} ,
2020-01-21 23:09:53 +01:00
"lock" : {
"message" : "Lock"
2018-03-16 00:05:49 +01:00
} ,
2020-01-21 23:09:53 +01:00
"lockTimeTooGreat" : {
"message" : "Lock time is too great"
2019-10-17 17:25:37 +02:00
} ,
2018-01-24 09:14:47 +01:00
"mainnet" : {
"message" : "Main Ethereum Network"
} ,
2019-01-23 16:25:34 +01:00
"memorizePhrase" : {
"message" : "Memorize this phrase."
} ,
2019-07-31 21:56:44 +02:00
"memo" : {
"message" : "memo"
} ,
2018-01-24 09:14:47 +01:00
"message" : {
"message" : "Message"
} ,
2020-04-22 19:11:36 +02:00
"metaMaskConnectStatusParagraphOne" : {
"message" : "This is the new MetaMask Connect status indicator. From here you can easily see and manage sites you’ ve connected to with your MetaMask wallet."
} ,
"metaMaskConnectStatusParagraphTwo" : {
"message" : "Click the Connect status to see your connected sites and their permissions."
} ,
2018-03-16 00:05:49 +01:00
"metamaskDescription" : {
2019-02-27 15:46:41 +01:00
"message" : "Connecting you to Ethereum and the Decentralized Web."
2018-03-16 00:05:49 +01:00
} ,
2018-09-12 02:32:37 +02:00
"metamaskVersion" : {
2018-09-21 00:53:53 +02:00
"message" : "MetaMask Version"
2018-09-12 02:32:37 +02:00
} ,
2018-10-16 22:54:34 +02:00
"missingYourTokens" : {
"message" : "Don't see your tokens?"
} ,
2019-02-25 20:10:13 +01:00
"mobileSyncText" : {
"message" : "Please enter your password to confirm it's you!"
} ,
2018-01-24 09:14:47 +01:00
"myAccounts" : {
"message" : "My Accounts"
} ,
2019-07-31 21:56:44 +02:00
"myWalletAccounts" : {
"message" : "My Wallet Accounts"
} ,
"myWalletAccountsDescription" : {
"message" : "All of your MetaMask created accounts will automatically be added to this section."
} ,
2018-03-16 00:05:49 +01:00
"mustSelectOne" : {
"message" : "Must select at least 1 token."
} ,
2018-01-24 09:14:47 +01:00
"needEtherInWallet" : {
"message" : "To interact with decentralized applications using MetaMask, you’ ll need Ether in your wallet."
} ,
"needImportFile" : {
2018-01-29 21:29:01 +01:00
"message" : "You must select a file to import." ,
"description" : "User is important an account and needs to add a file to continue"
2018-01-24 09:14:47 +01:00
} ,
2018-03-16 00:05:49 +01:00
"negativeETH" : {
"message" : "Can not send negative amounts of ETH."
} ,
2019-05-09 19:27:14 +02:00
"networkName" : {
"message" : "Network Name"
} ,
2018-01-24 09:14:47 +01:00
"networks" : {
"message" : "Networks"
} ,
2019-05-09 19:27:14 +02:00
"networkSettingsDescription" : {
"message" : "Add and edit custom RPC networks"
} ,
2018-05-31 01:17:40 +02:00
"nevermind" : {
"message" : "Nevermind"
} ,
2018-01-24 09:14:47 +01:00
"newAccount" : {
"message" : "New Account"
} ,
2019-07-31 21:56:44 +02:00
"newAccountDetectedDialogMessage" : {
"message" : "New address detected! Click here to add to your address book."
} ,
2018-03-07 01:15:45 +01:00
"newAccountNumberName" : {
"message" : "Account $1" ,
"description" : "Default name of next account to be created on create account screen"
2018-03-07 01:55:30 +01:00
} ,
2019-07-31 21:56:44 +02:00
"newContact" : {
"message" : "New Contact"
} ,
2018-01-24 09:14:47 +01:00
"newContract" : {
"message" : "New Contract"
} ,
"newPassword" : {
"message" : "New Password (min 8 chars)"
} ,
2018-10-26 10:26:43 +02:00
"newNetwork" : {
"message" : "New Network"
} ,
2019-02-27 15:46:41 +01:00
"newToMetaMask" : {
"message" : "New to MetaMask?"
} ,
"noAlreadyHaveSeed" : {
"message" : "No, I already have a seed phrase"
} ,
"protectYourKeys" : {
"message" : "Protect Your Keys!"
} ,
"protectYourKeysMessage1" : {
"message" : "Be careful with your seed phrase — there have been reports of websites that attempt to imitate MetaMask. MetaMask will never ask for your seed phrase!"
} ,
"protectYourKeysMessage2" : {
"message" : "Keep your phrase safe. If you see something fishy, or you’ re uncertain about a website, email support@metamask.io"
} ,
2019-05-09 19:27:14 +02:00
"rpcUrl" : {
2018-03-16 00:05:49 +01:00
"message" : "New RPC URL"
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"onlyConnectTrust" : {
"message" : "Only connect with sites you trust."
} ,
2018-10-26 10:26:43 +02:00
"optionalChainId" : {
"message" : "ChainID (optional)"
} ,
"optionalSymbol" : {
"message" : "Symbol (optional)"
} ,
2018-07-31 04:28:05 +02:00
"newTotal" : {
"message" : "New Total"
} ,
2018-08-07 16:57:42 +02:00
"newTransactionFee" : {
"message" : "New Transaction Fee"
} ,
2018-01-24 09:14:47 +01:00
"next" : {
"message" : "Next"
} ,
2019-09-27 06:30:36 +02:00
"nextNonceWarning" : {
"message" : "Nonce is higher than suggested nonce of $1" ,
"description" : "The next nonce according to MetaMask's internal logic"
} ,
2018-01-24 09:14:47 +01:00
"noAddressForName" : {
"message" : "No address has been set for this name."
} ,
2018-10-10 13:55:11 +02:00
"noConversionRateAvailable" : {
2018-07-16 22:02:12 +02:00
"message" : "No Conversion Rate Available"
} ,
2018-01-24 09:14:47 +01:00
"noTransactions" : {
2018-07-31 07:03:20 +02:00
"message" : "You have no transactions"
2018-01-24 09:14:47 +01:00
} ,
2019-09-16 19:11:01 +02:00
"noThanks" : {
"message" : "No Thanks"
} ,
2019-03-25 17:25:23 +01:00
"notEnoughGas" : {
"message" : "Not Enough Gas"
} ,
2018-08-04 00:57:23 +02:00
"noWebcamFoundTitle" : {
"message" : "Webcam not found"
} ,
2018-08-01 00:30:40 +02:00
"noWebcamFound" : {
2018-08-04 00:57:23 +02:00
"message" : "Your computer's webcam was not found. Please try again."
2018-08-01 00:30:40 +02:00
} ,
2018-11-13 18:19:12 +01:00
"ofTextNofM" : {
"message" : "of"
} ,
2018-10-09 16:47:38 +02:00
"orderOneHere" : {
"message" : "Order a Trezor or Ledger and keep your funds in cold storage"
} ,
2018-06-23 08:52:45 +02:00
"origin" : {
"message" : "Origin"
} ,
2018-10-09 16:47:38 +02:00
"parameters" : {
"message" : "Parameters"
} ,
2019-03-05 16:45:01 +01:00
"participateInMetaMetrics" : {
"message" : "Participate in MetaMetrics"
} ,
2019-03-05 19:00:39 +01:00
"participateInMetaMetricsDescription" : {
2019-03-05 16:45:01 +01:00
"message" : "Participate in MetaMetrics to help us make MetaMask better"
} ,
2018-04-22 09:14:40 +02:00
"password" : {
"message" : "Password"
} ,
2018-10-10 15:49:04 +02:00
"passwordsDontMatch" : {
"message" : "Passwords Don't Match"
} ,
"passwordNotLongEnough" : {
"message" : "Password not long enough"
} ,
2018-01-24 09:14:47 +01:00
"pastePrivateKey" : {
2018-01-29 21:29:01 +01:00
"message" : "Paste your private key string here:" ,
"description" : "For importing an account from a private key"
2018-01-24 09:14:47 +01:00
} ,
2018-08-24 01:44:38 +02:00
"pending" : {
"message" : "pending"
} ,
2020-04-02 11:09:53 +02:00
"permissionCheckedIconDescription" : {
"message" : "You have approved this permission"
} ,
"permissionUncheckedIconDescription" : {
"message" : "You have not approved this permission"
} ,
2018-03-16 00:05:49 +01:00
"personalAddressDetected" : {
"message" : "Personal address detected. Input the token contract address."
} ,
2020-04-02 17:17:10 +02:00
"plusXMore" : {
"message" : "+ $1 more" ,
"description" : "$1 is a number of additional but unshown items in a list- this message will be shown in place of those items"
} ,
2018-07-02 21:16:05 +02:00
"prev" : {
"message" : "Prev"
} ,
2018-10-17 01:03:29 +02:00
"primaryCurrencySetting" : {
"message" : "Primary Currency"
} ,
"primaryCurrencySettingDescription" : {
2018-10-26 10:26:43 +02:00
"message" : "Select native to prioritize displaying values in the native currency of the chain (e.g. ETH). Select Fiat to prioritize displaying values in your selected fiat currency."
2018-10-17 01:03:29 +02:00
} ,
2018-03-16 00:05:49 +01:00
"privacyMsg" : {
"message" : "Privacy Policy"
} ,
2018-01-29 21:29:01 +01:00
"privateKey" : {
"message" : "Private Key" ,
"description" : "select this type of file to use to import an account"
} ,
2018-01-24 09:14:47 +01:00
"privateKeyWarning" : {
2018-10-16 23:35:21 +02:00
"message" : "Warning: Never disclose this key. Anyone with your private keys can steal any assets held in your account."
2018-01-24 09:14:47 +01:00
} ,
"privateNetwork" : {
"message" : "Private Network"
} ,
2019-11-05 16:13:48 +01:00
"proposedApprovalLimit" : {
"message" : "Proposed Approval Limit"
} ,
2018-08-01 04:37:38 +02:00
"queue" : {
"message" : "Queue"
} ,
2018-01-24 09:14:47 +01:00
"readdToken" : {
2019-07-11 16:04:07 +02:00
"message" : "You can add this token back in the future by going to “Add token” in your accounts options menu."
2018-01-24 09:14:47 +01:00
} ,
2019-07-31 21:56:44 +02:00
"recents" : {
"message" : "Recents"
} ,
2018-01-24 09:14:47 +01:00
"recipientAddress" : {
"message" : "Recipient Address"
} ,
2019-07-31 21:56:44 +02:00
"recipientAddressPlaceholder" : {
"message" : "Search, public address (0x), or ENS"
} ,
2018-09-27 21:04:58 +02:00
"rejectAll" : {
"message" : "Reject All"
} ,
2018-09-24 06:16:52 +02:00
"rejectTxsN" : {
"message" : "Reject $1 transactions"
} ,
2018-09-24 07:07:19 +02:00
"rejectTxsDescription" : {
"message" : "You are about to batch reject $1 transactions."
} ,
2018-01-24 09:14:47 +01:00
"rejected" : {
"message" : "Rejected"
} ,
2018-05-31 01:17:40 +02:00
"reset" : {
"message" : "Reset"
} ,
2018-03-16 00:05:49 +01:00
"resetAccount" : {
"message" : "Reset Account"
} ,
2018-05-31 01:17:40 +02:00
"resetAccountDescription" : {
2019-12-12 16:40:30 +01:00
"message" : "Resetting your account will clear your transaction history. This will not change the balances in your accounts or require you to re-enter your seed phrase."
2018-05-31 01:17:40 +02:00
} ,
2019-07-02 14:13:02 +02:00
"deleteNetwork" : {
"message" : "Delete Network?"
} ,
"deleteNetworkDescription" : {
"message" : "Are you sure you want to delete this network?"
} ,
2019-08-02 05:57:26 +02:00
"remindMeLater" : {
"message" : "Remind me later"
} ,
2018-03-16 00:05:49 +01:00
"restoreFromSeed" : {
2018-05-11 01:51:26 +02:00
"message" : "Restore account?"
2018-03-16 00:05:49 +01:00
} ,
2018-06-22 19:11:18 +02:00
"restoreAccountWithSeed" : {
"message" : "Restore your Account with Seed Phrase"
} ,
2019-09-16 19:11:01 +02:00
"restoreWalletPreferences" : {
"message" : "A backup of your data from $1 has been found. Would you like to restore your wallet preferences?" ,
"description" : "$1 is the date at which the data was backed up"
} ,
2018-11-13 18:19:12 +01:00
"requestsAwaitingAcknowledgement" : {
"message" : "requests waiting to be acknowledged"
} ,
2018-01-24 09:14:47 +01:00
"required" : {
"message" : "Required"
} ,
2018-06-22 19:11:18 +02:00
"restore" : {
"message" : "Restore"
} ,
2018-03-16 00:05:49 +01:00
"revealSeedWords" : {
"message" : "Reveal Seed Words"
} ,
2018-04-22 09:14:40 +02:00
"revealSeedWordsTitle" : {
"message" : "Seed Phrase"
} ,
"revealSeedWordsDescription" : {
"message" : "If you ever change browsers or move computers, you will need this seed phrase to access your accounts. Save them somewhere safe and secret."
} ,
"revealSeedWordsWarningTitle" : {
"message" : "DO NOT share this phrase with anyone!"
} ,
2018-03-16 00:05:49 +01:00
"revealSeedWordsWarning" : {
2018-04-22 09:14:40 +02:00
"message" : "These words can be used to steal all your accounts."
2018-03-16 00:05:49 +01:00
} ,
2018-07-11 01:19:29 +02:00
"remove" : {
2019-05-15 18:40:11 +02:00
"message" : "Remove"
2018-07-11 01:19:29 +02:00
} ,
"removeAccount" : {
2018-07-12 06:23:08 +02:00
"message" : "Remove account"
2018-07-11 01:19:29 +02:00
} ,
"removeAccountDescription" : {
"message" : "This account will be removed from your wallet. Please make sure you have the original seed phrase or private key for this imported account before continuing. You can import or create accounts again from the account drop-down. "
} ,
2018-07-19 04:57:47 +02:00
"readyToConnect" : {
"message" : "Ready to Connect?"
} ,
2018-01-24 09:14:47 +01:00
"rinkeby" : {
"message" : "Rinkeby Test Network"
} ,
"ropsten" : {
"message" : "Ropsten Test Network"
} ,
2019-04-17 19:34:49 +02:00
"goerli" : {
"message" : "Goerli Test Network"
} ,
2018-01-29 21:29:01 +01:00
"save" : {
"message" : "Save"
2018-01-24 09:14:47 +01:00
} ,
2018-09-13 14:35:17 +02:00
"slow" : {
"message" : "Slow"
} ,
2018-12-12 17:13:53 +01:00
"slower" : {
"message" : "Slower"
} ,
2018-04-22 09:14:40 +02:00
"saveAsCsvFile" : {
"message" : "Save as CSV File"
} ,
2018-10-09 16:47:38 +02:00
"scanInstructions" : {
"message" : "Place the QR code in front of your camera"
} ,
"scanQrCode" : {
"message" : "Scan QR Code"
} ,
2018-03-16 00:05:49 +01:00
"search" : {
"message" : "Search"
} ,
2018-05-20 08:04:19 +02:00
"searchResults" : {
"message" : "Search Results"
} ,
2019-01-23 16:25:34 +01:00
"secretBackupPhrase" : {
"message" : "Secret Backup Phrase"
} ,
"secretBackupPhraseDescription" : {
"message" : "Your secret backup phrase makes it easy to back up and restore your account."
} ,
"secretBackupPhraseWarning" : {
"message" : "WARNING: Never disclose your backup phrase. Anyone with this phrase can take your Ether forever."
} ,
2018-03-16 00:05:49 +01:00
"secretPhrase" : {
"message" : "Enter your secret twelve word phrase here to restore your vault."
} ,
2019-03-25 17:13:23 +01:00
"securityAndPrivacy" : {
"message" : "Security & Privacy"
} ,
"securitySettingsDescription" : {
"message" : "Privacy settings and wallet seed phrase"
} ,
2019-01-23 16:25:34 +01:00
"seedPhrasePlaceholder" : {
"message" : "Separate each word with a single space"
} ,
2018-03-16 00:05:49 +01:00
"seedPhraseReq" : {
2020-02-06 23:25:45 +01:00
"message" : "Seed phrases contain 12, 15, 18, 21, or 24 words"
2018-03-16 00:05:49 +01:00
} ,
2020-04-02 11:09:53 +02:00
"selectingAllWillAllow" : {
"message" : "Selecting all will allow this site to view all of your current accounts. Make sure you trust this site."
} ,
"selectAll" : {
"message" : "Select all"
} ,
2018-03-16 00:05:49 +01:00
"selectCurrency" : {
"message" : "Select Currency"
} ,
2019-01-23 16:25:34 +01:00
"selectEachPhrase" : {
"message" : "Please select each phrase in order to make sure it is correct."
} ,
2018-09-12 02:32:37 +02:00
"selectLocale" : {
"message" : "Select Locale"
} ,
2018-03-16 00:05:49 +01:00
"selectType" : {
"message" : "Select Type"
} ,
2018-01-29 21:29:01 +01:00
"send" : {
"message" : "Send"
2018-01-24 09:14:47 +01:00
} ,
2018-10-09 18:53:48 +02:00
"sendAmount" : {
"message" : "Send Amount"
} ,
2018-03-16 00:05:49 +01:00
"sendETH" : {
"message" : "Send ETH"
} ,
2018-01-24 09:14:47 +01:00
"sendTokens" : {
"message" : "Send Tokens"
} ,
2018-08-16 21:46:40 +02:00
"sentEther" : {
"message" : "sent ether"
} ,
"sentTokens" : {
"message" : "sent tokens"
} ,
2018-06-22 19:11:18 +02:00
"separateEachWord" : {
"message" : "Separate each word with a single space"
} ,
2018-03-24 04:43:43 +01:00
"searchTokens" : {
"message" : "Search Tokens"
} ,
2019-12-04 03:21:55 +01:00
"searchAccounts" : {
"message" : "Search Accounts"
} ,
"noAccountsFound" : {
"message" : "No accounts found for the given search query"
} ,
2018-07-18 00:53:37 +02:00
"selectAnAccount" : {
"message" : "Select an Account"
} ,
"selectAnAccountHelp" : {
2018-08-17 02:41:23 +02:00
"message" : "Select the account to view in MetaMask"
} ,
2018-12-12 17:13:53 +01:00
"selectAHigherGasFee" : {
"message" : "Select a higher gas fee to accelerate the processing of your transaction.*"
} ,
2018-08-17 02:41:23 +02:00
"selectHdPath" : {
"message" : "Select HD Path"
2018-07-18 00:53:37 +02:00
} ,
2018-08-14 07:26:18 +02:00
"selectPathHelp" : {
2018-08-17 02:41:23 +02:00
"message" : "If you don't see your existing Ledger accounts below, try switching paths to \"Legacy (MEW / MyCrypto)\""
2018-07-18 00:53:37 +02:00
} ,
2018-01-24 09:14:47 +01:00
"settings" : {
"message" : "Settings"
} ,
2019-02-06 01:24:28 +01:00
"showAdvancedGasInline" : {
"message" : "Advanced gas controls"
} ,
"showAdvancedGasInlineDescription" : {
"message" : "Select this to show gas price and limit controls directly on the send and confirm screens."
} ,
2019-02-26 19:30:41 +01:00
"showFiatConversionInTestnets" : {
2019-03-19 00:31:26 +01:00
"message" : "Show Conversion on Testnets"
2019-02-26 19:30:41 +01:00
} ,
"showFiatConversionInTestnetsDescription" : {
2019-03-19 00:31:26 +01:00
"message" : "Select this to show fiat conversion on Testnets"
2019-02-26 19:30:41 +01:00
} ,
2018-01-24 09:14:47 +01:00
"showPrivateKeys" : {
"message" : "Show Private Keys"
} ,
2018-10-09 16:47:38 +02:00
"showHexData" : {
"message" : "Show Hex Data"
} ,
"showHexDataDescription" : {
"message" : "Select this to show the hex data field on the send screen"
} ,
2018-01-24 09:14:47 +01:00
"sign" : {
"message" : "Sign"
} ,
2018-08-07 07:39:54 +02:00
"signatureRequest" : {
"message" : "Signature Request"
} ,
2019-11-04 13:40:46 +01:00
"signatureRequest1" : {
"message" : "Message"
} ,
2018-03-20 20:06:59 +01:00
"signed" : {
"message" : "Signed"
} ,
2018-01-24 09:14:47 +01:00
"signNotice" : {
"message" : "Signing this message can have \ndangerous side effects. Only sign messages from \nsites you fully trust with your entire account.\n This dangerous method will be removed in a future version. "
} ,
2018-03-12 19:41:26 +01:00
"sigRequest" : {
"message" : "Signature Request"
} ,
2018-12-10 18:30:50 +01:00
"somethingWentWrong" : {
"message" : "Oops! Something went wrong."
} ,
2018-10-09 16:47:38 +02:00
"speedUp" : {
2019-07-10 14:26:20 +02:00
"message" : "Speed Up"
2018-10-09 16:47:38 +02:00
} ,
2018-12-09 21:48:06 +01:00
"speedUpCancellation" : {
"message" : "Speed up this cancellation"
} ,
"speedUpTransaction" : {
"message" : "Speed up this transaction"
} ,
2019-11-05 16:13:48 +01:00
"spendLimitPermission" : {
"message" : "Spend limit permission"
} ,
"spendLimitRequestedBy" : {
"message" : "Spend limit requested by $1" ,
"description" : "Origin of the site requesting the spend limit"
} ,
2020-01-29 19:16:38 +01:00
"spendLimitTooLarge" : {
"message" : "Spend limit too large"
} ,
"spendLimitInvalid" : {
"message" : "Spend limit invalid; must be a positive number"
} ,
2018-12-10 18:30:50 +01:00
"switchNetworks" : {
"message" : "Switch Networks"
} ,
2019-10-07 19:54:44 +02:00
"stateLogFileName" : {
"message" : "MetaMask State Logs"
} ,
2018-03-16 00:05:49 +01:00
"stateLogs" : {
"message" : "State Logs"
} ,
"stateLogsDescription" : {
"message" : "State logs contain your public account addresses and sent transactions."
} ,
2018-03-19 20:02:34 +01:00
"stateLogError" : {
"message" : "Error in retrieving state logs."
} ,
2020-04-01 20:44:59 +02:00
"statusConnected" : {
"message" : "Connected"
} ,
"statusNotConnected" : {
"message" : "Not connected"
} ,
2018-10-09 16:47:38 +02:00
"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" : {
2020-01-21 23:09:53 +01:00
"message" : "Use your hardware account like you would with any Ethereum account. Connect to dApps, send ETH, buy and store ERC20 tokens and non-fungible tokens like CryptoKitties."
2018-10-09 16:47:38 +02:00
} ,
2019-01-23 16:25:34 +01:00
"storePhrase" : {
"message" : "Store this phrase in a password manager like 1Password."
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"submit" : {
"message" : "Submit"
} ,
2018-03-20 20:06:59 +01:00
"submitted" : {
"message" : "Submitted"
} ,
2018-03-16 00:05:49 +01:00
"supportCenter" : {
"message" : "Visit our Support Center"
} ,
2019-05-09 19:27:14 +02:00
"symbol" : {
"message" : "Symbol"
} ,
2018-11-22 19:39:59 +01:00
"symbolBetweenZeroTwelve" : {
2019-12-21 21:22:09 +01:00
"message" : "Symbol must be 11 characters or fewer."
2018-03-16 00:05:49 +01:00
} ,
2019-09-16 19:11:01 +02:00
"syncWithThreeBox" : {
2019-10-02 22:06:46 +02:00
"message" : "Sync data with 3Box (experimental)"
2019-09-16 19:11:01 +02:00
} ,
"syncWithThreeBoxDescription" : {
2019-12-12 20:28:07 +01:00
"message" : "Turn on to have your settings backed up with 3Box. This feature is currently experimental; use at your own risk."
2019-09-16 19:11:01 +02:00
} ,
"syncWithThreeBoxDisabled" : {
"message" : "3Box has been disabled due to an error during the initial sync"
} ,
2019-02-25 20:10:13 +01:00
"syncWithMobile" : {
"message" : "Sync with mobile"
} ,
"syncWithMobileTitle" : {
"message" : "Sync with mobile"
} ,
"syncWithMobileDesc" : {
"message" : "You can sync your accounts and information with your mobile device. Open the MetaMask mobile app, go to \"Settings\" and tap on \"Sync from Browser Extension\""
} ,
"syncWithMobileDescNewUsers" : {
"message" : "If you just open the MetaMask Mobile app for the first time, just follow the steps in your phone."
} ,
"syncWithMobileScanThisCode" : {
"message" : "Scan this code with your MetaMask mobile app"
} ,
"syncWithMobileBeCareful" : {
"message" : "Make sure nobody else is looking at your screen when you scan this code"
} ,
"syncWithMobileComplete" : {
2019-12-12 20:28:07 +01:00
"message" : "Your data has been synced successfully. Enjoy the MetaMask mobile app!"
2019-02-25 20:10:13 +01:00
} ,
2018-03-16 00:05:49 +01:00
"terms" : {
"message" : "Terms of Use"
} ,
2018-01-24 09:14:47 +01:00
"testFaucet" : {
"message" : "Test Faucet"
} ,
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
"thisWillAllow" : {
"message" : "This will allow $1 to:" ,
"description" : "$1 is the name or domain of a site/dapp that is requesting permissions"
} ,
"thisWillAllowExternalExtension" : {
"message" : "This will allow an external extension with id $1 to:" ,
2020-01-10 19:57:48 +01:00
"description" : "$1 is a string of random letters that are the id of another extension connecting to MetaMask"
Connect distinct accounts per site (#7004)
* add PermissionsController
remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata
add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales
Add external extension id to metadata (#7396)
update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages
* Login Per Site UI (#7368)
* LoginPerSite original UI changes to keep
* First commit
* Get necessary connected tab info for redirect and icon display for permissioned sites
* Fix up designs and add missing features
* Some lint fixes
* More lint fixes
* Ensures the tx controller + tx-state-manager orders transactions in the order they are received
* Code cleanup for LoginPerSite-ui
* Update e2e tests to use new connection flow
* Fix display of connect screen and app header after login when connect request present
* Update metamask-responsive-ui.spec for new item in accounts dropdown
* Fix approve container by replacing approvedOrigins with domainMetaData
* Adds test/e2e/permissions.spec.js
* Correctly handle cancellation of a permissions request
* Redirect to home after disconnecting all sites / cancelling all permissions
* Fix display of site icons in menu
* Fix height of permissions page container
* Remove unused locale messages
* Set default values for openExternalTabs and tabIdOrigins in account-menu.container
* More code cleanup for LoginPerSite-ui
* Use extensions api to close tab in permissions-connect
* Remove unnecessary change in domIsReady() in contentscript
* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.
* Adds getOriginOfCurrentTab selector
* Adds IconWithFallback component and substitutes for appropriate cases
* Add and utilize font mixins
* Remove unused method in disconnect-all.container.js
* Simplify buttonSizeLarge code in page-container-footer.component.js
* Add and utilize getAccountsWithLabels selector
* Remove console.log in ui/app/store/actions.js
* Change last connected time format to yyyy-M-d
* Fix css associated with IconWithFallback change
* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes
* Code cleanup for LoginPerSite-ui
* Use reusable function for modifying openNonMetamaskTabsIDs in background.js
* Enables automatic switching to connected account when connected domain is open
* Prevent exploit of tabIdOriginMap in background.js
* Remove unneeded code from contentscript.js
* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs
* Design and styling fixes for LoginPerSite-ui
* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts
* Front end changes to support display of lastConnected time in connected and permissions screens
* Fix lint errors
* Refactor structure of permissionsHistory
* Fix default values and object modifications for domain and permissionsHistory related data
* Fix connecting to new accounts from modal
* Replace retweet.svg with connect-white.svg
* Fix signature-request.spec
* Update metamask-inpage-provider version
* Fix permissions e2e tests
* Remove unneeded delay from test/e2e/signature-request.spec.js
* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec
* Use requestAccountTabIds strategy for determining tab id that opened a given window
* Improve default values for permissions requests
* Add some message descriptions to app/_locales/en/messages.json
* Code clean up in permission controller
* Stopped deep cloning object in mapObjectValues
* Bump metamask-inpage-provider version
* Add missing description in app/_locales/en/messages.json
* Return promises from queryTabs and switchToTab of extension.js
* Remove unused getAllPermissions function
* Use default props in icon-with-fallback.component.js
* Stop passing to permissions controller
* Delete no longer used clear-approved-origins modal code
* Remove duplicate imports in ui/app/components/app/index.scss
* Use URL instead of regex in getOriginFromUrl()
* Add runtime error checking to platform, promise based extension.tab methods
* Support permission requests from external extensions
* Improve font size and colour of the domain origin on the permission confirmation screen
* Add support for toggling permissions
* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions
* Remove unused code from LoginPerSite-ui branch
* Ensure modal closes on Enter press for new-account-modal.component.js
* Lint fix
* fixup! Login Per Site UI (#7368)
* Some code cleanup for LoginPerSite
* Adds UX for connecting to dapps via the connected sites screen (#7593)
* Adds UX for connecting to dapps via the connected sites screen
* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask
* Delete unused permissions controller methods
* Fixes two small bugs in the LoginPerSite ui (#7595)
* Restore `providerRequest` message translations (#7600)
This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.
* Login per site no sitemetadata fix (#7610)
* Support connected sites for which we have no site metadata.
* Change property containing subtitle info often populated by origin to a more accurate of purpose name
* Lint fix
* Improve disconnection modal messages (#7612)
* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages
* Update disconnectAccountModalDescription app/_locales/en/messages.json
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
* Improve disconnectAccount modal message clarity
* Adds cancel button to the account selection screen of the permissions request flow (#7613)
* Fix eth_accounts permission language & selectability (#7614)
* fix eth_accounts language & selectability
* fix MetaMask capitalization in all messages
* Close sidebar when opening connected sites (#7611)
The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.
It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.
I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.
* Reject permissions request upon tab close (#7618)
Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617
* Handle tab update failure (#7619)
`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.
* Login per site tab popup fixes (#7617)
* Handle redirect in response to state update in permissions-connect
* Ensure origin is available to permissions-connect subcomponents during redirect
* Hide app bar whenever on redirect route
* Improvements to handling of redirects in permissions-connect
* Ensure permission request id change handling only happens when page is not null
* Lint fix
* Decouple confirm transaction screen from the selected address (#7622)
* Avoid race condtion that could prevent contextual account switching (#7623)
There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.
The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.
* Only redirect back to dapp if current tab is active (#7621)
The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.
* Fix JSX style lint errors
* Remove unused state
2019-12-03 18:35:56 +01:00
} ,
2019-03-05 16:45:01 +01:00
"thisWillCreate" : {
"message" : "This will create a new wallet and seed phrase"
} ,
2019-01-23 16:25:34 +01:00
"tips" : {
"message" : "Tips"
} ,
2018-01-24 09:14:47 +01:00
"to" : {
2018-08-21 05:16:54 +02:00
"message" : "To"
2018-01-24 09:14:47 +01:00
} ,
2019-11-05 16:13:48 +01:00
"toWithColon" : {
"message" : "To:"
} ,
2018-05-20 08:04:19 +02:00
"token" : {
"message" : "Token"
} ,
2018-03-16 00:05:49 +01:00
"tokenAlreadyAdded" : {
"message" : "Token has already been added."
} ,
2019-02-19 20:52:09 +01:00
"tokenContractAddress" : {
"message" : "Token Contract Address"
} ,
2018-03-16 00:05:49 +01:00
"tokenSymbol" : {
"message" : "Token Symbol"
} ,
2018-01-24 09:14:47 +01:00
"total" : {
"message" : "Total"
} ,
2018-08-31 21:34:22 +02:00
"transaction" : {
"message" : "transaction"
} ,
"transactionConfirmed" : {
2018-12-09 21:48:06 +01:00
"message" : "Transaction confirmed at $2."
2018-08-31 21:34:22 +02:00
} ,
"transactionCreated" : {
2018-12-09 21:48:06 +01:00
"message" : "Transaction created with a value of $1 at $2."
2018-08-31 21:34:22 +02:00
} ,
"transactionDropped" : {
2018-12-09 21:48:06 +01:00
"message" : "Transaction dropped at $2."
2018-08-31 21:34:22 +02:00
} ,
"transactionSubmitted" : {
2018-12-09 21:48:06 +01:00
"message" : "Transaction submitted with gas fee of $1 at $2."
} ,
"transactionResubmitted" : {
"message" : "Transaction resubmitted with gas fee increased to $1 at $2"
2018-09-07 22:59:05 +02:00
} ,
"transactionUpdated" : {
2018-12-09 21:48:06 +01:00
"message" : "Transaction updated at $2."
2018-08-31 21:34:22 +02:00
} ,
2018-10-23 13:59:04 +02:00
"transactionErrored" : {
"message" : "Transaction encountered an error."
} ,
2018-12-09 21:48:06 +01:00
"transactionCancelAttempted" : {
"message" : "Transaction cancel attempted with gas fee of $1 at $2"
} ,
"transactionCancelSuccess" : {
"message" : "Transaction successfully cancelled at $2"
} ,
2018-04-02 20:59:35 +02:00
"transactionError" : {
"message" : "Transaction Error. Exception thrown in contract code."
} ,
2018-09-18 05:04:10 +02:00
"transactionErrorNoContract" : {
2018-10-21 06:57:45 +02:00
"message" : "Trying to call a function on a non-contract address."
2018-09-18 05:04:10 +02:00
} ,
2018-09-13 14:35:17 +02:00
"transactionFee" : {
"message" : "Transaction Fee"
} ,
2018-08-07 16:57:42 +02:00
"transactionTime" : {
"message" : "Transaction Time"
} ,
2018-06-23 08:52:45 +02:00
"transfer" : {
"message" : "Transfer"
} ,
2019-07-31 21:56:44 +02:00
"transferBetweenAccounts" : {
"message" : "Transfer between my accounts"
} ,
2018-10-05 04:26:41 +02:00
"transferFrom" : {
"message" : "Transfer From"
} ,
2018-01-24 09:14:47 +01:00
"troubleTokenBalances" : {
2018-01-29 21:29:01 +01:00
"message" : "We had trouble loading your token balances. You can view them " ,
"description" : "Followed by a link (here) to view token balances"
2018-01-24 09:14:47 +01:00
} ,
2019-11-05 16:13:48 +01:00
"trustSiteApprovePermission" : {
"message" : "Do you trust this site? By granting this permission, you’ re allowing $1 to withdraw your $2 and automate transactions for you." ,
"description" : "$1 is the url requesting permission and $2 is the symbol of the currency that the request is for"
} ,
2018-08-08 09:00:39 +02:00
"tryAgain" : {
"message" : "Try again"
} ,
2018-01-24 09:14:47 +01:00
"typePassword" : {
2018-10-16 21:33:18 +02:00
"message" : "Type your MetaMask password"
2018-01-24 09:14:47 +01:00
} ,
2018-03-20 18:29:22 +01:00
"unapproved" : {
"message" : "Unapproved"
} ,
2020-04-29 19:10:51 +02:00
"unconnectedAccountAlertTitle" : {
"message" : "Not connected"
} ,
"unconnectedAccountAlertDescription" : {
"message" : "This account is not connected to this site"
} ,
2018-08-31 21:34:22 +02:00
"units" : {
"message" : "units"
} ,
2018-01-24 09:14:47 +01:00
"unknown" : {
"message" : "Unknown"
} ,
"unknownNetwork" : {
"message" : "Unknown Private Network"
} ,
2018-07-30 23:50:05 +02:00
"unknownQrCode" : {
"message" : "Error: We couldn't identify that QR code"
} ,
2018-08-04 00:57:23 +02:00
"unknownCameraErrorTitle" : {
"message" : "Ooops! Something went wrong...."
} ,
2018-08-01 00:30:40 +02:00
"unknownCameraError" : {
2018-10-11 17:50:59 +02:00
"message" : "There was an error while trying to access your camera. Please try again..."
2018-08-01 00:30:40 +02:00
} ,
2019-11-05 16:13:48 +01:00
"unlimited" : {
"message" : "Unlimited"
} ,
2018-06-10 09:52:32 +02:00
"unlock" : {
"message" : "Unlock"
} ,
2018-05-11 01:51:26 +02:00
"unlockMessage" : {
"message" : "The decentralized web awaits"
} ,
2018-09-20 01:55:58 +02:00
"updatedWithDate" : {
"message" : "Updated $1"
} ,
2019-11-19 06:11:50 +01:00
"urlErrorMsg" : {
"message" : "URLs require the appropriate HTTP/HTTPS prefix."
} ,
"urlExistsErrorMsg" : {
"message" : "URL is already present in existing list of networks"
2018-03-16 00:05:49 +01:00
} ,
2018-01-24 09:14:47 +01:00
"usedByClients" : {
"message" : "Used by a variety of different clients"
} ,
2020-02-27 07:29:41 +01:00
"usePhishingDetection" : {
"message" : "Use Phishing Detection"
} ,
"usePhishingDetectionDescription" : {
"message" : "Display a warning for phishing domains targeting Ethereum users"
} ,
2019-09-19 01:29:46 +02:00
"userName" : {
2019-07-31 21:56:44 +02:00
"message" : "Username"
} ,
2018-01-24 09:14:47 +01:00
"viewAccount" : {
"message" : "View Account"
} ,
2019-06-17 13:02:12 +02:00
"viewinExplorer" : {
"message" : "View in Explorer"
} ,
2019-07-31 21:56:44 +02:00
"viewContact" : {
"message" : "View Contact"
} ,
2019-05-09 19:27:14 +02:00
"viewOnCustomBlockExplorer" : {
"message" : "View at $1"
} ,
2018-06-18 19:29:09 +02:00
"viewOnEtherscan" : {
"message" : "View on Etherscan"
} ,
2019-10-28 14:28:46 +01:00
"retryTransaction" : {
"message" : "Retry Transaction"
} ,
2018-03-16 00:05:49 +01:00
"visitWebSite" : {
"message" : "Visit our web site"
2018-03-20 21:01:08 +01:00
} ,
2018-10-10 15:49:04 +02:00
"walletSeed" : {
"message" : "Wallet Seed"
} ,
2018-05-11 01:51:26 +02:00
"welcomeBack" : {
"message" : "Welcome Back!"
} ,
2018-10-26 10:42:29 +02:00
"welcome" : {
"message" : "Welcome to MetaMask"
2018-03-16 00:05:49 +01:00
} ,
2020-04-22 19:11:36 +02:00
"whatsThis" : {
"message" : "What's this?"
} ,
2019-01-23 16:25:34 +01:00
"writePhrase" : {
"message" : "Write this phrase on a piece of paper and store in a secure location. If you want even more security, write it down on multiple pieces of paper and store each in 2 - 3 different locations."
} ,
2020-04-07 20:38:15 +02:00
"xOfY" : {
"message" : "$1 of $2" ,
"description" : "$1 and $2 are intended to be two numbers, where $2 is a total, and $1 is a count towards that total"
} ,
2018-09-17 19:34:29 +02:00
"yesLetsTry" : {
2018-09-21 04:35:45 +02:00
"message" : "Yes, let's try"
2018-09-17 19:34:29 +02:00
} ,
2018-07-31 04:57:05 +02:00
"youNeedToAllowCameraAccess" : {
"message" : "You need to allow camera access to use this feature."
} ,
2018-01-24 09:14:47 +01:00
"yourSigRequested" : {
"message" : "Your signature is being requested"
} ,
"youSign" : {
2018-01-29 21:29:01 +01:00
"message" : "You are signing"
2018-04-14 09:00:48 +02:00
} ,
2018-04-22 09:14:40 +02:00
"yourPrivateSeedPhrase" : {
"message" : "Your private seed phrase"
2018-12-12 17:13:53 +01:00
} ,
"zeroGasPriceOnSpeedUpError" : {
2019-07-15 04:22:20 +02:00
"message" : "Zero gas price on speed up"
2020-02-19 19:24:16 +01:00
} ,
"decryptRequest" : {
"message" : "Decrypt request"
} ,
"decrypt" : {
"message" : "Decrypt"
} ,
"decryptMessageNotice" : {
"message" : "$1 would like to read this message to complete your action" ,
"description" : "$1 is website or dapp name"
} ,
"decryptMetamask" : {
"message" : "Decrypt message"
} ,
"decryptCopy" : {
"message" : "Copy encrypted message"
} ,
"decryptInlineError" : {
"message" : "This message cannot be decrypted due to error: $1" ,
"description" : "$1 is error message"
} ,
"provide" : {
"message" : "Provide"
} ,
"encryptionPublicKeyRequest" : {
"message" : "Request encryption public key"
} ,
"encryptionPublicKeyNotice" : {
"message" : "$1 would like your public encryption key. By consenting, this site will be able to compose encrypted messages to you." ,
"description" : "$1 is website or dapp name"
2018-01-24 09:14:47 +01:00
}
2019-07-15 16:03:22 +02:00
}