From e447f4fb827d6671838427215ff07fde6f240907 Mon Sep 17 00:00:00 2001 From: yqrashawn Date: Thu, 19 Mar 2020 19:06:18 +0800 Subject: [PATCH 1/5] Sync Version v0.0.9 RC (#58) from master (#60) * Version v0.0.8 (#49) Co-authored-by: yqrashawn * Fix: changelog.md (#50) * Fix e2e tests (#56) * Add: arrow-parens eslint rule * Attempt ENS resolution on any valid domain name (#8059) ENS currently supports a variety of tlds in addition to `.eth`, and more will be supported in the future. Rather than hard-code a list of supported ENS tlds, all valid domain names will now be interpreted as potential ENS addresses in our address input component. Closes #7978 * Remove unused sinon sandboxes (#8063) These sandboxes were created, then not utilized at all. * Enable core ESLint no-mixed-operators rule * Update redux-related dependencies (#8068) * Add optional chaining (#8052) * Add plugin-proposal-optional-chaining * Use optional chaining to provide error fallback * Remove redux-test-utils dependency (#8070) * Remove usages of redux-test-utils * Remove redux-test-utils dependency * Use react-redux@7.2.0 (#8069) * Implementation encrypt/decrypt feature (#7831) Implement `eth_decrypt` and `eth_getEncryptionPublicKey`. This allows decryption backed by the user's private key. The message decryption uses a confirmation flow similar to the messaging signing flow, where the message to be decrypted is also able to be decrypted inline for the user to read directly before confirming. * Fix: handle getCode error * Fix: e2e WIP * Add: tmp for dev * Fix: getCode error * Fix: remove max gas limit * Add: use new version of conflux-local-network-lite * Fix: raise gas for create token contract * Fix: hide edit button when use advanced gas inputs only * Fix: more e2e fix WIP * Fix: hide more currency * Fix: more e2e * Fix: lint * Fix: second e2e test * Fix: responsive ui e2e test * Fix: rest e2e test * Fix: lint * Fix: more delay to get the right gas limit * Fix: respect max gas limit, set nonce in estimate gas params * Fix: more gas * Fix: lint * Fix: estimate gas, disable infura controller * Fix: remove debugger * Fix: modal block clickable element * Fix: e2e, locate reject button * Fix: disable ens resolution * Fix: e2e confirm and reject together * Fix: tiny deplay before input state check * Fix: sentry url * Fix: getCode cb error * Fix: currency input remove onblur * Fix: lint, remove currency input onBlur code * Add: e2e test back to all test pass Co-authored-by: Mark Stacey Co-authored-by: Whymarrh Whitby Co-authored-by: ricky Co-authored-by: Konstantin * Add rlp to support new version of testnet (#57) * Add: new version of local lite * Add: missing svg file * Add: use new version of testnet * Fix: e2e test * Version v0.0.9 Co-authored-by: yqrashawn Co-authored-by: Mark Stacey Co-authored-by: Whymarrh Whitby Co-authored-by: ricky Co-authored-by: Konstantin Co-authored-by: Conflux Bot Co-authored-by: Conflux Bot <59952071+ConfluxBot@users.noreply.github.com> Co-authored-by: Mark Stacey Co-authored-by: Whymarrh Whitby Co-authored-by: ricky Co-authored-by: Konstantin Co-authored-by: Conflux Bot --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2f63969f511..88f425101e80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Develop Branch +## 0.0.9 Thu Mar 12 2020 + ## 0.0.8 Tue Feb 20 2020 - update/cleanup packages (#46) - update readme.md (#45) diff --git a/app/manifest.json b/app/manifest.json index 6c57b6ec248a..2d6104ef45c3 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "0.0.8", + "version": "0.0.9", "manifest_version": 2, "author": "https://conflux-chain.org", "description": "__MSG_appDescription__", From 722e2b546c97a0d310173e0ee0847af09dabba63 Mon Sep 17 00:00:00 2001 From: yqrashawn Date: Tue, 24 Mar 2020 10:28:48 +0800 Subject: [PATCH 2/5] new sign logic (#62) * Add: sign logic * Add: disable eth-contract-registry * Fix: e2e test --- app/scripts/lib/seed-phrase-verifier.js | 2 +- app/scripts/metamask-controller.js | 12 +-- package.json | 7 +- test/e2e/contract-test/contract.js | 9 +- test/e2e/contract-test/index.html | 18 ++-- test/e2e/signature-request.spec.js | 2 +- .../controllers/metamask-controller-test.js | 4 +- .../recipient-blacklist-checker-test.js | 2 +- test/unit/app/seed-phrase-verifier-test.js | 2 +- test/unit/ui/app/actions.spec.js | 8 +- .../signature-request-original.container.js | 4 +- ui/app/helpers/utils/transactions.util.js | 99 ++++++++++--------- ui/app/pages/confirm-transaction/conf-tx.js | 2 +- ui/app/store/actions.js | 88 +++++++++-------- yarn.lock | 74 +++++++++----- 15 files changed, 181 insertions(+), 152 deletions(-) diff --git a/app/scripts/lib/seed-phrase-verifier.js b/app/scripts/lib/seed-phrase-verifier.js index b402278a48e7..3f465b575cbe 100644 --- a/app/scripts/lib/seed-phrase-verifier.js +++ b/app/scripts/lib/seed-phrase-verifier.js @@ -1,4 +1,4 @@ -import KeyringController from 'eth-keyring-controller' +import KeyringController from 'cfx-keyring-controller' import log from 'loglevel' const seedPhraseVerifier = { diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 5b0b26b24629..1532c71f8747 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -23,7 +23,7 @@ import createOriginMiddleware from './lib/createOriginMiddleware' import createOnboardingMiddleware from './lib/createOnboardingMiddleware' import providerAsMiddleware from '@yqrashawn/cfx-json-rpc-middleware/providerAsMiddleware' import { setupMultiplex } from './lib/stream-utils.js' -import KeyringController from 'eth-keyring-controller' +import KeyringController from 'cfx-keyring-controller' import EnsController from './controllers/ens' import NetworkController from './controllers/network' import PreferencesController from './controllers/preferences' @@ -34,7 +34,7 @@ import OnboardingController from './controllers/onboarding' // import ThreeBoxController from './controllers/threebox' import RecentBlocksController from './controllers/recent-blocks' import IncomingTransactionsController from './controllers/incoming-transactions' -import MessageManager from './lib/message-manager' +// import MessageManager from './lib/message-manager' import DecryptMessageManager from './lib/decrypt-message-manager' import EncryptionPublicKeyManager from './lib/encryption-public-key-manager' import PersonalMessageManager from './lib/personal-message-manager' @@ -312,8 +312,8 @@ export default class MetamaskController extends EventEmitter { ) this.networkController.lookupNetwork() - this.messageManager = new MessageManager() this.personalMessageManager = new PersonalMessageManager() + this.messageManager = this.personalMessageManager this.decryptMessageManager = new DecryptMessageManager() this.encryptionPublicKeyManager = new EncryptionPublicKeyManager() this.typedMessageManager = new TypedMessageManager({ @@ -398,7 +398,7 @@ export default class MetamaskController extends EventEmitter { // tx signing processTransaction: this.newUnapprovedTransaction.bind(this), // msg signing - processEthSignMessage: this.newUnsignedMessage.bind(this), + processEthSignMessage: this.newUnsignedPersonalMessage.bind(this), processTypedMessage: this.newUnsignedTypedMessage.bind(this), processTypedMessageV3: this.newUnsignedTypedMessage.bind(this), processTypedMessageV4: this.newUnsignedTypedMessage.bind(this), @@ -636,8 +636,8 @@ export default class MetamaskController extends EventEmitter { getNextNonce: nodeify(this.getNextNonce, this), // messageManager - signMessage: nodeify(this.signMessage, this), - cancelMessage: this.cancelMessage.bind(this), + signMessage: nodeify(this.signPersonalMessage, this), + cancelMessage: this.cancelPersonalMessage.bind(this), // personalMessageManager signPersonalMessage: nodeify(this.signPersonalMessage, this), diff --git a/package.json b/package.json index 89ee96407a26..1352f8ea71df 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "bip39": "^2.2.0", "bn.js": "^4.11.7", "c3": "^0.7.10", + "cfx-keyring-controller": "^5.6.1", "classnames": "^2.2.6", "content-hash": "^2.5.0", "copy-to-clipboard": "^3.0.8", @@ -105,9 +106,7 @@ "eth-json-rpc-errors": "^2.0.2", "eth-json-rpc-filters": "^4.1.1", "eth-json-rpc-infura": "^4.0.2", - "eth-keyring-controller": "^5.5.0", "eth-ledger-bridge-keyring": "^0.2.0", - "eth-method-registry": "^1.2.0", "eth-phishing-detect": "^1.1.4", "eth-query": "^2.1.2", "eth-sig-util": "^2.3.0", @@ -127,7 +126,7 @@ "extensionizer": "^1.0.1", "fast-json-patch": "^2.0.4", "fuse.js": "^3.2.0", - "gaba": "^1.9.3", + "gaba": "^1.10.0", "human-standard-token-abi": "^2.0.0", "jazzicon": "^2.0.0", "js-conflux-sdk": "^0.8.0-alpha", @@ -198,7 +197,7 @@ "@storybook/addon-knobs": "^5.2.8", "@storybook/react": "^5.2.8", "@storybook/storybook-deployer": "^2.8.1", - "@yqrashawn/conflux-local-network-lite": "^2.0.0-beta", + "@yqrashawn/conflux-local-network-lite": "^2.0.1", "@yqrashawn/conflux-portal-onboarding": "^0.2.0-alpha", "addons-linter": "1.14.0", "babel-eslint": "^10.0.2", diff --git a/test/e2e/contract-test/contract.js b/test/e2e/contract-test/contract.js index 2d16370a5331..4941698cf548 100644 --- a/test/e2e/contract-test/contract.js +++ b/test/e2e/contract-test/contract.js @@ -507,7 +507,7 @@ const initialize = () => { } personalSignData.addEventListener('click', () => { - const typedData = { + const personalSignData = { types: { EIP712Domain: [ { name: 'name', type: 'string' }, @@ -548,7 +548,7 @@ const initialize = () => { confluxJS.provider.sendAsync( { method: 'personal_sign', - params: [JSON.stringify(typedData), conflux.selectedAddress], + params: [JSON.stringify(personalSignData), conflux.selectedAddress], from: conflux.selectedAddress, }, (err, result) => { @@ -669,13 +669,16 @@ const initialize = () => { confluxJS.provider.sendAsync( { - method: 'eth_signTypedData_v3', + method: 'cfx_signTypedData_v3', params: [conflux.selectedAddress, JSON.stringify(typedData)], from: conflux.selectedAddress, }, (err, result) => { if (err) { console.log(err) + if (!chainId) { + console.log('chainId is not defined') + } } else { signTypedDataResults.innerHTML = JSON.stringify(result) sendSignedTypedData.disabled = false diff --git a/test/e2e/contract-test/index.html b/test/e2e/contract-test/index.html index 4ebe14c75c90..ca53cd5f3ce7 100644 --- a/test/e2e/contract-test/index.html +++ b/test/e2e/contract-test/index.html @@ -67,28 +67,28 @@

Status

Accounts: +
+

+ CFX Sign Data (same as Metamask's personal_sign) +

+ +
CFX Sign Data Result:
+

Sign Typed Data V3

- +
Sign Typed Data Result:

Send Signed Typed Data Result:
-
+

Personal Sign Data (Prefered)

Personal Sign Data Result:
-
-

- CFX Sign Data (Deprecated) -

- -
CFX Sign Data Result:
-
diff --git a/test/e2e/signature-request.spec.js b/test/e2e/signature-request.spec.js index 8a336ff8bba9..0eae81955b10 100644 --- a/test/e2e/signature-request.spec.js +++ b/test/e2e/signature-request.spec.js @@ -106,7 +106,7 @@ describe('MetaMask', function () { it('creates a sign typed data signature request', async function () { await driver.clickElement( - By.xpath(`//button[contains(text(), 'Sign')]`), + By.xpath(`//button[contains(text(), 'Typed Sign')]`), 10000 ) await driver.delay(largeDelayMs) diff --git a/test/unit/app/controllers/metamask-controller-test.js b/test/unit/app/controllers/metamask-controller-test.js index 6b717fdc3083..d5087fc2fdc7 100644 --- a/test/unit/app/controllers/metamask-controller-test.js +++ b/test/unit/app/controllers/metamask-controller-test.js @@ -766,7 +766,7 @@ describe('MetaMaskController', function () { }) }) - describe('#newUnsignedMessage', function () { + describe.skip('#newUnsignedMessage', function () { let msgParams, metamaskMsgs, messages, msgId const address = '0xc42edfcc21ed14dda456aa0756c153f7985d8813' @@ -905,7 +905,7 @@ describe('MetaMaskController', function () { assert.equal(metamaskPersonalMsgs[msgId].status, 'signed') assert.equal( metamaskPersonalMsgs[msgId].rawSig, - '0x6a1b65e2b8ed53cf398a769fad24738f9fbe29841fe6854e226953542c4b6a173473cb152b6b1ae5f06d601d45dd699a129b0a8ca84e78b423031db5baa734741b' + '0x42aa75cb4f4991a9e4b84645896b6a2a402f38de45a3f522dd7f1f0aa99205237bf8f9693a435438ad9d37e536552ecdc407ba41f54f57bc2e182c3bd5470eb801' ) }) }) diff --git a/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js b/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js index 24879ca4618e..9cd17aeaef73 100644 --- a/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js +++ b/test/unit/app/controllers/transactions/recipient-blacklist-checker-test.js @@ -6,7 +6,7 @@ import { KOVAN_CODE, GOERLI_CODE, } from '../../../../../app/scripts/controllers/network/enums' -import KeyringController from 'eth-keyring-controller' +import KeyringController from 'cfx-keyring-controller' describe('Recipient Blacklist Checker', function () { describe('#checkAccount', function () { diff --git a/test/unit/app/seed-phrase-verifier-test.js b/test/unit/app/seed-phrase-verifier-test.js index 95592592689a..e1da84622345 100644 --- a/test/unit/app/seed-phrase-verifier-test.js +++ b/test/unit/app/seed-phrase-verifier-test.js @@ -1,6 +1,6 @@ import assert from 'assert' import { cloneDeep } from 'lodash' -import KeyringController from 'eth-keyring-controller' +import KeyringController from 'cfx-keyring-controller' import firstTimeState from '../../../app/scripts/first-time-state' import seedPhraseVerifier from '../../../app/scripts/lib/seed-phrase-verifier' import mockEncryptor from '../../lib/mock-encryptor' diff --git a/test/unit/ui/app/actions.spec.js b/test/unit/ui/app/actions.spec.js index aa49ca9b7919..49acf51e890c 100644 --- a/test/unit/ui/app/actions.spec.js +++ b/test/unit/ui/app/actions.spec.js @@ -7,7 +7,7 @@ import configureStore from 'redux-mock-store' import thunk from 'redux-thunk' import EthQuery from '../../../../app/scripts/eth-query' import Eth from 'ethjs' -import KeyringController from 'eth-keyring-controller' +import KeyringController from 'cfx-keyring-controller' import { createTestProviderTools } from '../../../stub/provider' import enLocale from '../../../../app/_locales/en/messages.json' @@ -644,12 +644,12 @@ describe('Actions', function () { signMessageSpy.restore() }) - it('calls signMsg in background', function () { + it('calls signPerMsg in background', function () { const store = mockStore({ metamask: {}, }) - signMessageSpy = sinon.spy(background, 'signMessage') + signMessageSpy = sinon.spy(background, 'signPersonalMessage') store.dispatch(actions.signMsg(msgParams)) assert(signMessageSpy.calledOnce) }) @@ -665,7 +665,7 @@ describe('Actions', function () { { type: 'DISPLAY_WARNING', value: 'error' }, ] - signMessageSpy = sinon.stub(background, 'signMessage') + signMessageSpy = sinon.stub(background, 'signPersonalMessage') signMessageSpy.callsFake((_, callback) => { callback(new Error('error')) }) diff --git a/ui/app/components/app/signature-request-original/signature-request-original.container.js b/ui/app/components/app/signature-request-original/signature-request-original.container.js index 625993e3254a..15ec4e5b5112 100644 --- a/ui/app/components/app/signature-request-original/signature-request-original.container.js +++ b/ui/app/components/app/signature-request-original/signature-request-original.container.js @@ -48,10 +48,10 @@ function mergeProps (stateProps, dispatchProps, ownProps) { if (type === 'personal_sign') { cancel = cancelPersonalMessage sign = signPersonalMessage - } else if (type === 'eth_signTypedData') { + } else if (type === 'cfx_signTypedData' || type === 'eth_signTypedData') { cancel = cancelTypedMessage sign = signTypedMessage - } else if (type === 'eth_sign') { + } else if (type === 'cfx_sign' || type === 'eth_sign') { cancel = cancelMessage sign = signMessage } diff --git a/ui/app/helpers/utils/transactions.util.js b/ui/app/helpers/utils/transactions.util.js index f09d93114c57..de58ffa6e941 100644 --- a/ui/app/helpers/utils/transactions.util.js +++ b/ui/app/helpers/utils/transactions.util.js @@ -1,5 +1,5 @@ import ethUtil from 'ethereumjs-util' -import MethodRegistry from 'eth-method-registry' +// import MethodRegistry from 'eth-method-registry' import abi from 'human-standard-token-abi' import abiDecoder from 'abi-decoder' import { @@ -7,7 +7,7 @@ import { TRANSACTION_STATUS_CONFIRMED, } from '../../../../app/scripts/controllers/transactions/enums' import prefixForNetwork from '../../../lib/etherscan-prefix-for-network' -import fetchWithCache from './fetch-with-cache' +// import fetchWithCache from './fetch-with-cache' import { TOKEN_METHOD_TRANSFER, @@ -26,7 +26,7 @@ import { DEPOSIT_TRANSACTION_KEY, } from '../constants/transactions' -import log from 'loglevel' +// import log from 'loglevel' import { addCurrencies } from './conversion-util' abiDecoder.addABI(abi) @@ -35,58 +35,59 @@ export function getTokenData (data = '') { return abiDecoder.decodeMethod(data) } -async function getMethodFrom4Byte (fourBytePrefix) { - const fourByteResponse = await fetchWithCache( - `https://www.4byte.directory/api/v1/signatures/?hex_signature=${fourBytePrefix}`, - { - referrerPolicy: 'no-referrer-when-downgrade', - body: null, - method: 'GET', - mode: 'cors', - } - ) - - if (fourByteResponse.count === 1) { - return fourByteResponse.results[0].text_signature - } else { - return null - } -} - -const registry = new MethodRegistry({ provider: global.ethereumProvider }) +// async function getMethodFrom4Byte (fourBytePrefix) { +// const fourByteResponse = await fetchWithCache( +// `https://www.4byte.directory/api/v1/signatures/?hex_signature=${fourBytePrefix}`, +// { +// referrerPolicy: 'no-referrer-when-downgrade', +// body: null, +// method: 'GET', +// mode: 'cors', +// } +// ) + +// if (fourByteResponse.count === 1) { +// return fourByteResponse.results[0].text_signature +// } else { +// return null +// } +// } + +// const registry = new MethodRegistry({ provider: global.ethereumProvider }) /** * Attempts to return the method data from the MethodRegistry library, the message registry library and the token abi, in that order of preference * @param {string} fourBytePrefix - The prefix from the method code associated with the data * @returns {Object} */ -export async function getMethodDataAsync (fourBytePrefix) { - try { - const fourByteSig = getMethodFrom4Byte(fourBytePrefix).catch((e) => { - log.error(e) - return null - }) - - let sig = await registry.lookup(fourBytePrefix) - - if (!sig) { - sig = await fourByteSig - } - - if (!sig) { - return {} - } - - const parsedResult = registry.parse(sig) - - return { - name: parsedResult.name, - params: parsedResult.args, - } - } catch (error) { - log.error(error) - return {} - } +export async function getMethodDataAsync (/* fourBytePrefix */) { + return {} + // try { + // const fourByteSig = getMethodFrom4Byte(fourBytePrefix).catch((e) => { + // log.error(e) + // return null + // }) + + // let sig = await registry.lookup(fourBytePrefix) + + // if (!sig) { + // sig = await fourByteSig + // } + + // if (!sig) { + // return {} + // } + + // const parsedResult = registry.parse(sig) + + // return { + // name: parsedResult.name, + // params: parsedResult.args, + // } + // } catch (error) { + // log.error(error) + // return {} + // } } export function isConfirmDeployContract (txData = {}) { diff --git a/ui/app/pages/confirm-transaction/conf-tx.js b/ui/app/pages/confirm-transaction/conf-tx.js index 50acb9246464..f95f397f504e 100644 --- a/ui/app/pages/confirm-transaction/conf-tx.js +++ b/ui/app/pages/confirm-transaction/conf-tx.js @@ -112,7 +112,7 @@ class ConfirmTxScreen extends Component { signatureSelect (type, version) { // Temporarily direct only v3 and v4 requests to new code. if ( - type === 'eth_signTypedData' && + (type === 'cfx_signTypedData' || type === 'eth_signTypedData') && (version === 'V3' || version === 'V4') ) { return SignatureRequest diff --git a/ui/app/store/actions.js b/ui/app/store/actions.js index 0e62d28e28ab..dc50b4fde576 100644 --- a/ui/app/store/actions.js +++ b/ui/app/store/actions.js @@ -591,31 +591,31 @@ export function setCurrentCurrency (currencyCode) { } } -export function signMsg (msgData) { - log.debug('action - signMsg') - return (dispatch) => { - dispatch(showLoadingIndication()) - return new Promise((resolve, reject) => { - log.debug(`actions calling background.signMessage`) - background.signMessage(msgData, (err, newState) => { - log.debug('signMessage called back') - dispatch(updateMetamaskState(newState)) - dispatch(hideLoadingIndication()) - - if (err) { - log.error(err) - dispatch(displayWarning(err.message)) - return reject(err) - } - - dispatch(completedTx(msgData.metamaskId)) - dispatch(closeCurrentNotificationWindow()) - - return resolve(msgData) - }) - }) - } -} +// export function signMsg (msgData) { +// log.debug('action - signMsg') +// return (dispatch) => { +// dispatch(showLoadingIndication()) +// return new Promise((resolve, reject) => { +// log.debug(`actions calling background.signMessage`) +// background.signMessage(msgData, (err, newState) => { +// log.debug('signMessage called back') +// dispatch(updateMetamaskState(newState)) +// dispatch(hideLoadingIndication()) + +// if (err) { +// log.error(err) +// dispatch(displayWarning(err.message)) +// return reject(err) +// } + +// dispatch(completedTx(msgData.metamaskId)) +// dispatch(closeCurrentNotificationWindow()) + +// return resolve(msgData) +// }) +// }) +// } +// } export function signPersonalMsg (msgData) { log.debug('action - signPersonalMsg') @@ -643,6 +643,8 @@ export function signPersonalMsg (msgData) { } } +export const signMsg = signPersonalMsg + export function decryptMsgInline (decryptedMsgData) { log.debug('action - decryptMsgInline') return (dispatch) => { @@ -1061,26 +1063,26 @@ export function txError (err) { } } -export function cancelMsg (msgData) { - return (dispatch) => { - dispatch(showLoadingIndication()) - return new Promise((resolve, reject) => { - background.cancelMessage(msgData.id, (err, newState) => { - dispatch(updateMetamaskState(newState)) - dispatch(hideLoadingIndication()) +// export function cancelMsg (msgData) { +// return (dispatch) => { +// dispatch(showLoadingIndication()) +// return new Promise((resolve, reject) => { +// background.cancelMessage(msgData.id, (err, newState) => { +// dispatch(updateMetamaskState(newState)) +// dispatch(hideLoadingIndication()) - if (err) { - return reject(err) - } +// if (err) { +// return reject(err) +// } - dispatch(completedTx(msgData.id)) - dispatch(closeCurrentNotificationWindow()) +// dispatch(completedTx(msgData.id)) +// dispatch(closeCurrentNotificationWindow()) - return resolve(msgData) - }) - }) - } -} +// return resolve(msgData) +// }) +// }) +// } +// } export function cancelPersonalMsg (msgData) { return (dispatch) => { @@ -1104,6 +1106,8 @@ export function cancelPersonalMsg (msgData) { } } +export const cancelMsg = cancelPersonalMsg + export function cancelDecryptMsg (msgData) { return (dispatch) => { dispatch(showLoadingIndication()) diff --git a/yarn.lock b/yarn.lock index 3693f89cd5af..b1c56a33edbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2731,10 +2731,10 @@ pify "^3.0.0" safe-event-emitter "^1.0.1" -"@yqrashawn/conflux-local-network-lite@^2.0.0-beta": - version "2.0.0-beta" - resolved "https://registry.yarnpkg.com/@yqrashawn/conflux-local-network-lite/-/conflux-local-network-lite-2.0.0-beta.tgz#c00e449b62726eaed768bfa2123086ec228a6458" - integrity sha512-b6qa3HTNRoIWocwIKz9ey2UvHnH+4JshCChkdGm1MSPcyp08WY+QcvDgwJfZ4C0Mr7qLzfSEFnfnOxm+jYxd9w== +"@yqrashawn/conflux-local-network-lite@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@yqrashawn/conflux-local-network-lite/-/conflux-local-network-lite-2.0.1.tgz#b4e10b927ece3495d820f704140eb7de2297165c" + integrity sha512-BFckbt8tZC+7F8/js75icjYzR1WchlgY8gst7AY8SjxFEx83PvA2ZLxskAOLP9r72FgtAy5fSIG+/X/O2nPSkA== dependencies: ethereumjs-util "^6.2.0" express "^4.17.1" @@ -6041,6 +6041,22 @@ cephes@^1.1.2: resolved "https://registry.yarnpkg.com/cephes/-/cephes-1.2.0.tgz#4d246b622bc488ab8c982a1f702f0c9f49705d96" integrity sha512-twuUuJRrIrsELHz6foJtZlqrz6FC36zoHZJvvThsrM1UWPKxyoilw1Rka6Hk0AmPFKHKUoGwGfAtvNZNtNZu0g== +cfx-keyring-controller@^5.6.1: + version "5.6.1" + resolved "https://registry.yarnpkg.com/cfx-keyring-controller/-/cfx-keyring-controller-5.6.1.tgz#bf1fa02bc5ad242625f528a19efc030d1a8f1e4a" + integrity sha512-IyPpQ9E9KfHYpI3Prj/bbklfATN2MF42hA3IfJaUIeSdrlNUxnfPNqpuGuRZ9Xu/I1R30YpQoDujRx8H0n75rg== + dependencies: + bip39 "^2.4.0" + bluebird "^3.5.0" + browser-passworder "^2.0.3" + eth-hd-keyring "^3.5.0" + eth-sig-util "^1.4.0" + eth-simple-keyring "^3.5.0" + ethereumjs-util "^5.1.2" + js-conflux-sdk "^0.8.0-alpha" + loglevel "^1.5.0" + obs-store "^4.0.3" + "chai@>=1.9.2 <4.0.0": version "3.5.0" resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" @@ -9844,21 +9860,6 @@ eth-keyring-controller@^5.3.0: loglevel "^1.5.0" obs-store "^4.0.3" -eth-keyring-controller@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/eth-keyring-controller/-/eth-keyring-controller-5.5.0.tgz#f8b78f69a0b0005873af2d1a6b2c655d6de51351" - integrity sha512-kWaukiHLMYNYtB/1vZyj1r1G6wU8u+DIYVMq8QUyFAxwcBnemsKISVPIXgltgXkuUiB/t9oXsA54bWBredgrVg== - dependencies: - bip39 "^2.4.0" - bluebird "^3.5.0" - browser-passworder "^2.0.3" - eth-hd-keyring "^3.5.0" - eth-sig-util "^1.4.0" - eth-simple-keyring "^3.5.0" - ethereumjs-util "^5.1.2" - loglevel "^1.5.0" - obs-store "^4.0.3" - eth-ledger-bridge-keyring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eth-ledger-bridge-keyring/-/eth-ledger-bridge-keyring-0.2.0.tgz#715de14da24496c35cdb433022a20bd21b984f7e" @@ -9899,13 +9900,6 @@ eth-method-registry@1.1.0: dependencies: ethjs "^0.3.0" -eth-method-registry@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eth-method-registry/-/eth-method-registry-1.2.0.tgz#2160592d7938ef0b850c9267bc40b3470c2700c9" - integrity sha512-m+nphH4kOxz5KTvQ+BeIKVggxAul1sp4Ev09lfxRXIEHM1t/6NQEtaErL5ddTDFXXFVtTiW8uC9edTVUTnBZNg== - dependencies: - ethjs "^0.3.0" - eth-phishing-detect@^1.1.13: version "1.1.13" resolved "https://registry.yarnpkg.com/eth-phishing-detect/-/eth-phishing-detect-1.1.13.tgz#ed718b933c8a69fef0cefa6604538824b472dbea" @@ -11868,6 +11862,34 @@ fuse.js@^3.4.6: resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.6.tgz#545c3411fed88bf2e27c457cab6e73e7af697a45" integrity sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg== +gaba@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/gaba/-/gaba-1.10.0.tgz#f01e4462f8b7e72a02d9558977ea411d8f7a9a09" + integrity sha512-2WEN3YgBh9kP7xow5K579bWsvCaH8c+HE75N9VZHQtGFZmK41q/U9MfRuRx4PREfUgP0S/O9GzQz+Uu0HvA19g== + dependencies: + await-semaphore "^0.1.3" + eth-contract-metadata "^1.11.0" + eth-ens-namehash "^2.0.8" + eth-json-rpc-errors "^2.0.2" + eth-json-rpc-infura "^4.0.1" + eth-keyring-controller "^5.3.0" + eth-method-registry "1.1.0" + eth-phishing-detect "^1.1.13" + eth-query "^2.1.2" + eth-sig-util "^2.3.0" + ethereumjs-util "^6.1.0" + ethereumjs-wallet "0.6.0" + ethjs-query "^0.3.8" + human-standard-collectible-abi "^1.0.2" + human-standard-token-abi "^2.0.0" + isomorphic-fetch "^2.2.1" + jsonschema "^1.2.4" + percentile "^1.2.1" + single-call-balance-checker-abi "^1.0.0" + uuid "^3.3.2" + web3 "^0.20.7" + web3-provider-engine "^15.0.4" + gaba@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/gaba/-/gaba-1.9.3.tgz#4e0e106f3640930f1f06ffe72546903b4c51813e" From ed63451522f1739915a243e0d22daf4e3f4837a8 Mon Sep 17 00:00:00 2001 From: yqrashawn Date: Fri, 27 Mar 2020 16:40:59 +0800 Subject: [PATCH 3/5] Change logo, mail, faq, tos links (#63) * Add: logo change * Add: use static image instead of 3d model * Add: remove ens description * Add: hide conversion rate ui * Add: hide some help link * Add: change support mail address, ConfluxPortal -> Conflux Portal * Fix: lint * Add: change mail tos policy link --- README.md | 61 ++++++++---- app/_locales/am/messages.json | 10 +- app/_locales/ar/messages.json | 10 +- app/_locales/bg/messages.json | 10 +- app/_locales/bn/messages.json | 10 +- app/_locales/ca/messages.json | 10 +- app/_locales/cs/messages.json | 2 +- app/_locales/da/messages.json | 10 +- app/_locales/de/messages.json | 10 +- app/_locales/el/messages.json | 10 +- app/_locales/en/messages.json | 72 +++++++------- app/_locales/es/messages.json | 4 +- app/_locales/es_419/messages.json | 10 +- app/_locales/et/messages.json | 10 +- app/_locales/fa/messages.json | 8 +- app/_locales/fi/messages.json | 10 +- app/_locales/fil/messages.json | 10 +- app/_locales/fr/messages.json | 10 +- app/_locales/he/messages.json | 10 +- app/_locales/hi/messages.json | 8 +- app/_locales/hr/messages.json | 10 +- app/_locales/ht/messages.json | 4 +- app/_locales/hu/messages.json | 10 +- app/_locales/id/messages.json | 10 +- app/_locales/it/messages.json | 10 +- app/_locales/ja/messages.json | 4 +- app/_locales/kn/messages.json | 6 +- app/_locales/ko/messages.json | 6 +- app/_locales/lt/messages.json | 10 +- app/_locales/lv/messages.json | 10 +- app/_locales/ms/messages.json | 10 +- app/_locales/nl/messages.json | 2 +- app/_locales/no/messages.json | 10 +- app/_locales/ph/messages.json | 2 +- app/_locales/pl/messages.json | 10 +- app/_locales/pt/messages.json | 2 +- app/_locales/pt_BR/messages.json | 10 +- app/_locales/ro/messages.json | 10 +- app/_locales/ru/messages.json | 10 +- app/_locales/sk/messages.json | 10 +- app/_locales/sl/messages.json | 10 +- app/_locales/sr/messages.json | 8 +- app/_locales/sv/messages.json | 10 +- app/_locales/sw/messages.json | 10 +- app/_locales/ta/messages.json | 2 +- app/_locales/th/messages.json | 2 +- app/_locales/tr/messages.json | 2 +- app/_locales/uk/messages.json | 10 +- app/_locales/vi/messages.json | 2 +- app/_locales/zh_CN/messages.json | 46 ++++----- app/_locales/zh_TW/messages.json | 48 ++++----- app/images/icon-128.png | Bin 9785 -> 16014 bytes app/images/icon-16.png | Bin 868 -> 817 bytes app/images/icon-19.png | Bin 1066 -> 1066 bytes app/images/icon-32.png | Bin 2033 -> 2375 bytes app/images/icon-38.png | Bin 2539 -> 2996 bytes app/images/icon-512.png | Bin 62776 -> 97533 bytes app/images/icon-64.png | Bin 4595 -> 6292 bytes app/images/info-logo.png | Bin 9785 -> 16014 bytes app/images/logo/conflux-confi.svg | 42 ++++++++ .../logo/conflux-portal-logo-horizontal.svg | 94 ++++++++++++++++++ app/images/logo/metamask-fox.svg | 1 - app/images/logo/metamask-logo-horizontal.svg | 1 - app/manifest.json | 4 +- app/notification.html | 2 +- app/scripts/platforms/extension.js | 2 +- development/states/conf-tx.json | 2 +- development/states/first-time.json | 2 +- test/e2e/address-book.spec.js | 2 +- test/e2e/contract-test/contract.js | 2 +- test/e2e/contract-test/index.html | 2 +- test/e2e/from-import-ui.spec.js | 2 +- test/e2e/metamask-responsive-ui.spec.js | 2 +- test/e2e/metamask-ui.spec.js | 8 +- test/e2e/permissions.spec.js | 4 +- test/e2e/send-edit.spec.js | 2 +- test/e2e/webdriver/chrome.js | 2 +- test/lib/migrations/002.json | 2 +- .../confirm-detail-row/index.scss | 2 + .../confirm-remove-account.component.js | 16 +-- .../signature-request-original.component.js | 13 --- .../components/ui/currency-input/index.scss | 2 + .../ui/metafox-logo/metafox-logo.component.js | 4 +- .../token-list-placeholder.component.js | 16 +-- .../connect-hardware/connect-screen.js | 22 ++-- .../create-account/import-account/json.js | 10 +- .../end-of-flow/end-of-flow.component.js | 18 ++-- .../welcome/welcome.component.js | 14 ++- .../settings/info-tab/info-tab.component.js | 22 ++-- .../unlock-page/unlock-page.component.js | 14 ++- 90 files changed, 545 insertions(+), 387 deletions(-) create mode 100644 app/images/logo/conflux-confi.svg create mode 100644 app/images/logo/conflux-portal-logo-horizontal.svg delete mode 100644 app/images/logo/metamask-fox.svg delete mode 100644 app/images/logo/metamask-logo-horizontal.svg diff --git a/README.md b/README.md index c2bead26d3af..36359c39baca 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,57 @@ -# ConfluxPortal Browser Extension -[![Build Status](https://circleci.com/gh/Conflux-Chain/conflux-portal.svg?style=svg)](https://circleci.com/gh/Conflux-Chain/conflux-portal?branch=cfx-develop) +# Conflux Portal Browser Extension +[![Build +Status](https://circleci.com/gh/Conflux-Chain/conflux-portal.svg?style=svg)](https://circleci.com/gh/Conflux-Chain/conflux-portal?branch=cfx-develop) -You can find the latest version of ConfluxPortal on [our official website](https://github.com/Conflux-Chain/conflux-portal/releases). For help using ConfluxPortal, visit our [User Support Site](https://github.com/Conflux-Chain/conflux-portal/issues/new/choose). +You can find the latest version of Conflux Portal on [our official +website](https://github.com/Conflux-Chain/conflux-portal/releases). For help +using Conflux Portal, visit our [User Support +Site](https://github.com/Conflux-Chain/conflux-portal/issues/new/choose). -ConfluxPortal supports Firefox, Google Chrome, and Chromium-based browsers. We recommend using the latest available browser version. +Conflux Portal supports Firefox, Google Chrome, and Chromium-based browsers. We +recommend using the latest available browser version. -To learn how to develop ConfluxPortal-compatible applications, visit our [Developer Docs](https://conflux-chain.github.io/conflux-portal-docs/). +To learn how to develop Conflux Portal-compatible applications, visit our +[Developer Docs](https://conflux-chain.github.io/conflux-portal-docs/). -To learn how to contribute to the ConfluxPortal project itself, visit our [Internal Docs](https://github.com/Conflux-Chain/conflux-portal/tree/develop/docs). +To learn how to contribute to the Conflux Portal project itself, visit our +[Internal +Docs](https://github.com/Conflux-Chain/conflux-portal/tree/develop/docs). ## Building locally - Install [Node.js](https://nodejs.org) version 10 - - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you. + - If you are using [nvm](https://github.com/creationix/nvm#installation) + (recommended) running `nvm use` will automatically choose the right node + version for you. - Install [Yarn](https://yarnpkg.com/en/docs/install) - Install dependencies: `yarn` - Build the project to the `./dist/` folder with `yarn dist`. -- Optionally, to start a development build (e.g. with logging and file watching) run `yarn start` instead. - - To start the [React DevTools](https://github.com/facebook/react-devtools) and [Redux DevTools Extension](http://extension.remotedev.io) +- Optionally, to start a development build (e.g. with logging and file watching) + run `yarn start` instead. + - To start the [React DevTools](https://github.com/facebook/react-devtools) + and [Redux DevTools Extension](http://extension.remotedev.io) alongside the app, use `yarn start:dev`. - - React DevTools will open in a separate window; no browser extension is required - - Redux DevTools will need to be installed as a browser extension. Open the Redux Remote Devtools to access Redux state logs. This can be done by either right clicking within the web browser to bring up the context menu, expanding the Redux DevTools panel and clicking Open Remote DevTools OR clicking the Redux DevTools extension icon and clicking Open Remote DevTools. - - You will also need to check the "Use custom (local) server" checkbox in the Remote DevTools Settings, using the default server configuration (host `localhost`, port `8000`, secure connection checkbox unchecked) - -Uncompressed builds can be found in `/dist`, compressed builds can be found in `/builds` once they're built. + - React DevTools will open in a separate window; no browser extension is + required + - Redux DevTools will need to be installed as a browser extension. Open + the Redux Remote Devtools to access Redux state logs. This can be done + by either right clicking within the web browser to bring up the context + menu, expanding the Redux DevTools panel and clicking Open Remote + DevTools OR clicking the Redux DevTools extension icon and clicking Open + Remote DevTools. + - You will also need to check the "Use custom (local) server" checkbox + in the Remote DevTools Settings, using the default server + configuration (host `localhost`, port `8000`, secure connection + checkbox unchecked) + +Uncompressed builds can be found in `/dist`, compressed builds can be found in +`/builds` once they're built. ## Contributing -You can read [our internal docs here](https://github.com/Conflux-Chain/conflux-portal/tree/develop/docs). +You can read [our internal docs +here](https://github.com/Conflux-Chain/conflux-portal/tree/develop/docs). ### Running Tests @@ -59,10 +82,12 @@ yarn dist - [How to add custom build to Chrome](./docs/add-to-chrome.md) - [How to add custom build to Firefox](./docs/add-to-firefox.md) -- [How to add a new translation to ConfluxPortal](./docs/translating-guide.md) +- [How to add a new translation to Conflux Portal](./docs/translating-guide.md) - [Publishing Guide](./docs/publishing.md) -- [How to port ConfluxPortal to a new platform](./docs/porting_to_new_environment.md) +- [How to port Conflux Portal to a new + platform](./docs/porting_to_new_environment.md) - [How to use the TREZOR emulator](./docs/trezor-emulator.md) -- [How to generate a visualization of this repository's development](./docs/development-visualization.md) +- [How to generate a visualization of this repository's + development](./docs/development-visualization.md) [1]: http://www.nomnoml.com/#view/%5B%3Cactor%3Euser%5D%0A%0A%5Bconfluxportal-ui%7C%0A%20%20%20%5Btools%7C%0A%20%20%20%20%20react%0A%20%20%20%20%20redux%0A%20%20%20%20%20thunk%0A%20%20%20%20%20ethUtils%0A%20%20%20%20%20jazzicon%0A%20%20%20%5D%0A%20%20%20%5Bcomponents%7C%0A%20%20%20%20%20app%0A%20%20%20%20%20account-detail%0A%20%20%20%20%20accounts%0A%20%20%20%20%20locked-screen%0A%20%20%20%20%20restore-vault%0A%20%20%20%20%20identicon%0A%20%20%20%20%20config%0A%20%20%20%20%20info%0A%20%20%20%5D%0A%20%20%20%5Breducers%7C%0A%20%20%20%20%20app%0A%20%20%20%20%20confluxportal%0A%20%20%20%20%20identities%0A%20%20%20%5D%0A%20%20%20%5Bactions%7C%0A%20%20%20%20%20%5BbackgroundConnection%5D%0A%20%20%20%5D%0A%20%20%20%5Bcomponents%5D%3A-%3E%5Bactions%5D%0A%20%20%20%5Bactions%5D%3A-%3E%5Breducers%5D%0A%20%20%20%5Breducers%5D%3A-%3E%5Bcomponents%5D%0A%5D%0A%0A%5Bweb%20dapp%7C%0A%20%20%5Bui%20code%5D%0A%20%20%5Bjs-conflux-sdk%5D%0A%20%20%5Bconfluxportal-inpage%5D%0A%20%20%0A%20%20%5B%3Cactor%3Eui%20developer%5D%0A%20%20%5Bui%20developer%5D-%3E%5Bui%20code%5D%0A%20%20%5Bui%20code%5D%3C-%3E%5Bjs-conflux-sdk%5D%0A%20%20%5Bjs-conflux-sdk%5D%3C-%3E%5Bconfluxportal-inpage%5D%0A%5D%0A%0A%5Bconfluxportal-background%7C%0A%20%20%5Bprovider-engine%5D%0A%20%20%5Bhooked%20wallet%20subprovider%5D%0A%20%20%5Bid%20store%5D%0A%20%20%0A%20%20%5Bprovider-engine%5D%3C-%3E%5Bhooked%20wallet%20subprovider%5D%0A%20%20%5Bhooked%20wallet%20subprovider%5D%3C-%3E%5Bid%20store%5D%0A%20%20%5Bconfig%20manager%7C%0A%20%20%20%20%5Brpc%20configuration%5D%0A%20%20%20%20%5Bencrypted%20keys%5D%0A%20%20%20%20%5Bwallet%20nicknames%5D%0A%20%20%5D%0A%20%20%0A%20%20%5Bprovider-engine%5D%3C-%5Bconfig%20manager%5D%0A%20%20%5Bid%20store%5D%3C-%3E%5Bconfig%20manager%5D%0A%5D%0A%0A%5Buser%5D%3C-%3E%5Bconfluxportal-ui%5D%0A%0A%5Buser%5D%3C%3A--%3A%3E%5Bweb%20dapp%5D%0A%0A%5Bconfluxportal-contentscript%7C%0A%20%20%5Bplugin%20restart%20detector%5D%0A%20%20%5Brpc%20passthrough%5D%0A%5D%0A%0A%5Brpc%20%7C%0A%20%20%5Bethereum%20blockchain%20%7C%0A%20%20%20%20%5Bcontracts%5D%0A%20%20%20%20%5Baccounts%5D%0A%20%20%5D%0A%5D%0A%0A%5Bweb%20dapp%5D%3C%3A--%3A%3E%5Bconfluxportal-contentscript%5D%0A%5Bconfluxportal-contentscript%5D%3C-%3E%5Bconfluxportal-background%5D%0A%5Bconfluxportal-background%5D%3C-%3E%5Bconfluxportal-ui%5D%0A%5Bconfluxportal-background%5D%3C-%3E%5Brpc%5D%0A diff --git a/app/_locales/am/messages.json b/app/_locales/am/messages.json index 8de236b7cada..22d537dffd2f 100644 --- a/app/_locales/am/messages.json +++ b/app/_locales/am/messages.json @@ -396,7 +396,7 @@ "message": "የዘር ሐረግዎን በድጋሚ መጠባበቂያ ለመያዝ ከፈለጉ፣ በቅንብሮች -> ግላዊነት ውስጥ ሊያገኙት ይችላሉ።" }, "endOfFlowMessage7": { - "message": "ጥያቄዎች ካሉዎት ወይም የሆነ አጠራጣሪ ነገር ካዩ፣ እባክዎ ለ support@metamask.io ኢሜይል ይላኩ።" + "message": "ጥያቄዎች ካሉዎት ወይም የሆነ አጠራጣሪ ነገር ካዩ፣ እባክዎ ለ portal@conflux-chain.org ኢሜይል ይላኩ።" }, "endOfFlowMessage8": { "message": "MetaMask የዘር ሐረግዎን መልሶ ማግኘት አልቻለም። ተጨማሪ መረጃ ያግኙ።" @@ -426,7 +426,7 @@ "message": "Ethereum ሕዝባዊ አድራሻ" }, "etherscanView": { - "message": "መለያውን በ Etherscan ላይ ይመልከቱ" + "message": "መለያውን በ Confluxscan ላይ ይመልከቱ" }, "estimatedProcessingTimes": { "message": "የሚገመት የክወና ጊዜያት" @@ -747,7 +747,7 @@ "message": "ስለ ዘር ሐረግዎ ይጠንቀቁ - ራሳቸውን ከ MetaMask ጋር ለማመሳሰል የሚሞከሩ ድረ ገጾች እናሉ ሰምተናል። MetaMask በጭራሽ የዘር ሐረግዎን አይጠይቅዎትም!" }, "protectYourKeysMessage2": { - "message": "የሐረግዎን ደህንነት ይጠብቁ። ይም የሆነ አጠራጣሪ ነገር ካዩ ወይም ስለ አንድ ድረ ገጽ እርግጠኛ ካልሆኑ፣ እባክዎ ለ support@metamask.io ኢሜይል ይላኩ" + "message": "የሐረግዎን ደህንነት ይጠብቁ። ይም የሆነ አጠራጣሪ ነገር ካዩ ወይም ስለ አንድ ድረ ገጽ እርግጠኛ ካልሆኑ፣ እባክዎ ለ portal@conflux-chain.org ኢሜይል ይላኩ" }, "rpcUrl": { "message": "አዲስ የ RPC URL" @@ -863,7 +863,7 @@ "message": "የተቀባይ አድራሻ" }, "recipientAddressPlaceholder": { - "message": "ፍለጋ፣ ለሕዝብ ክፍት የሆነ አድራሻ (0x), ወይም ENS" + "message": "ፍለጋ፣ ለሕዝብ ክፍት የሆነ አድራሻ (0x)" }, "rejectAll": { "message": "ሁሉንም አትቀበል" @@ -1309,7 +1309,7 @@ "message": "በ $1ይመልከቱ" }, "viewOnEtherscan": { - "message": "በ Etherscan ላይ ይመልከቱ" + "message": "በ Confluxscan ላይ ይመልከቱ" }, "visitWebSite": { "message": "ድረ ገጻችንን ይጎብኙ" diff --git a/app/_locales/ar/messages.json b/app/_locales/ar/messages.json index fa6eb638a579..2cdbacbf16b3 100644 --- a/app/_locales/ar/messages.json +++ b/app/_locales/ar/messages.json @@ -396,7 +396,7 @@ "message": "إذا كنت بحاجة إلى عمل نسخة احتياطية من عبارة الأمان الخاصة بك مرة أخرى، يمكنك العثور عليها في الإعدادات -> الأمان." }, "endOfFlowMessage7": { - "message": "إذا كانت لديك أسئلة أو ترى شيئاً ما مريباً، فأرسل بريداً إلكترونياً إلى support@metamask.io." + "message": "إذا كانت لديك أسئلة أو ترى شيئاً ما مريباً، فأرسل بريداً إلكترونياً إلى portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "لا يمكن لـ MetaMask استعادة جملتك البذرية. تعلم المزيد." @@ -426,7 +426,7 @@ "message": "عنوان الإيثيريوم العمومي" }, "etherscanView": { - "message": "عرض الحساب على Etherscan" + "message": "عرض الحساب على Confluxscan" }, "estimatedProcessingTimes": { "message": "أوقات المعالجة المقدرة" @@ -743,7 +743,7 @@ "message": "كن حذراً بشأن عبارة الأمان الخاصة بك - فهناك بلاغات عن مواقع ويب تحاول تقليد MetaMask. لن تسأل MetaMask عن عبارة الأمان الخاصة بك أبداً!" }, "protectYourKeysMessage2": { - "message": "أبقِ عبارة الأمان الخاصة بك بأمان. إذا رأيت شيئاً مريباً، أو كنت غير متأكد من موقع ويب ما، أرسل بريداً إلكترونياً إلى support@metamask.io" + "message": "أبقِ عبارة الأمان الخاصة بك بأمان. إذا رأيت شيئاً مريباً، أو كنت غير متأكد من موقع ويب ما، أرسل بريداً إلكترونياً إلى portal@conflux-chain.org" }, "rpcUrl": { "message": "عنوان جديد لاستدعاء الإجراء عن بعد" @@ -859,7 +859,7 @@ "message": "عنوان المستلم" }, "recipientAddressPlaceholder": { - "message": "البحث، العنوان العام (0x)، أو ENS" + "message": "البحث، العنوان العام (0x)" }, "rejectAll": { "message": "رفض الكل" @@ -1305,7 +1305,7 @@ "message": "عرض في $1" }, "viewOnEtherscan": { - "message": "عرضه على Etherscan" + "message": "عرضه على Confluxscan" }, "visitWebSite": { "message": "قم بزيارة موقعنا على الإنترنت" diff --git a/app/_locales/bg/messages.json b/app/_locales/bg/messages.json index 9b58cce3da00..4b6900ae515c 100644 --- a/app/_locales/bg/messages.json +++ b/app/_locales/bg/messages.json @@ -396,7 +396,7 @@ "message": "Ако отново трябва да архивирате основната си фраза, можете да я намерите в Настройки -> Защита." }, "endOfFlowMessage7": { - "message": "Ако имате въпроси или забележите нещо съмнително, изпратете имейл на support@metamask.io." + "message": "Ако имате въпроси или забележите нещо съмнително, изпратете имейл на portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask не може да възстанови ключовата Ви фраза. Научете повече." @@ -426,7 +426,7 @@ "message": "Публичен адрес за етереум" }, "etherscanView": { - "message": "Преглед на акаунта в Etherscan" + "message": "Преглед на акаунта в Confluxscan" }, "estimatedProcessingTimes": { "message": "Приблизителни времена за обработка" @@ -746,7 +746,7 @@ "message": "Внимавайте с вашата фраза - има съобщения за уебсайтове, които се опитват да имитират MetaMask. MetaMask никога няма да поиска вашата фраза-зародиш!" }, "protectYourKeysMessage2": { - "message": "Пазете фразата си. Ако забележите нещо съмнително или не сте сигурни за даден уебсайт, изпратете имейл на support@metamask.io" + "message": "Пазете фразата си. Ако забележите нещо съмнително или не сте сигурни за даден уебсайт, изпратете имейл на portal@conflux-chain.org" }, "rpcUrl": { "message": "Нов URL адрес за RPC" @@ -862,7 +862,7 @@ "message": "Адрес на получателя" }, "recipientAddressPlaceholder": { - "message": "Търсене, публичен адрес (0x) или ENS" + "message": "Търсене, публичен адрес (0x)" }, "rejectAll": { "message": "Отхвърлете всички" @@ -1308,7 +1308,7 @@ "message": "Преглед на $1" }, "viewOnEtherscan": { - "message": "Преглед на Etherscan" + "message": "Преглед на Confluxscan" }, "visitWebSite": { "message": "Посетете нашият уеб сайт" diff --git a/app/_locales/bn/messages.json b/app/_locales/bn/messages.json index ebb3a7943712..80f86e99965f 100644 --- a/app/_locales/bn/messages.json +++ b/app/_locales/bn/messages.json @@ -396,7 +396,7 @@ "message": "আপনাকে আপনার সীড আবার ব্যাকআপ করতে হলে, আপনি সেটি সেটিংস -> নিরাপত্তায় পাবেন।" }, "endOfFlowMessage7": { - "message": "আপনার কখনও কোনো প্রশ্ন থাকলে বা সন্দেহজনক কিছু দেখলে, support@metamask.io ঠিকানায় ইমেল করুন।" + "message": "আপনার কখনও কোনো প্রশ্ন থাকলে বা সন্দেহজনক কিছু দেখলে, portal@conflux-chain.org ঠিকানায় ইমেল করুন।" }, "endOfFlowMessage8": { "message": "MetaMask আপনার সীডফ্রেজ পুনরুদ্ধার করতে পারবে না। আরও জানুন।" @@ -426,7 +426,7 @@ "message": "Ethereum পাবলিক অ্যাড্রেস" }, "etherscanView": { - "message": "Etherscan এ অ্যাকাউন্ট দেখুন" + "message": "Confluxscan এ অ্যাকাউন্ট দেখুন" }, "estimatedProcessingTimes": { "message": "আনুমানিক প্রক্রিয়াকরণের সময়" @@ -750,7 +750,7 @@ "message": "আপনার সীড ফ্রেজ বিষয়ে সাবধান থাকুন — এমন ওয়েবসাইটগুলির রিপোর্ট পাওয়া গেছে যেগুলি MetaMask কে অনুকরণ করার চেষ্টা করে। MetaMask কখনও আপনার সীড ফ্রেজ জিজ্ঞাসা করবে না।" }, "protectYourKeysMessage2": { - "message": "আপনার ফ্রেজটিকে নিরাপদে রাখুন।সন্দেহজনক কিছু দেখলে, বা একটি ওয়েবসাইট সম্পর্কে নিশ্চিত না হলে, support@metamask.io এ ইমেল করুন" + "message": "আপনার ফ্রেজটিকে নিরাপদে রাখুন।সন্দেহজনক কিছু দেখলে, বা একটি ওয়েবসাইট সম্পর্কে নিশ্চিত না হলে, portal@conflux-chain.org এ ইমেল করুন" }, "rpcUrl": { "message": "নতুন RPC URL" @@ -866,7 +866,7 @@ "message": "প্রাপকের ঠিকানা" }, "recipientAddressPlaceholder": { - "message": "অনুসন্ধান, সার্বজনীন ঠিকানা (0x), বা ENS" + "message": "অনুসন্ধান, সার্বজনীন ঠিকানা (0x)" }, "rejectAll": { "message": "সব খারিজ করুন" @@ -1312,7 +1312,7 @@ "message": "$1 এ দেখুন" }, "viewOnEtherscan": { - "message": "Etherscan দেখুন" + "message": "Confluxscan দেখুন" }, "visitWebSite": { "message": "আমাদের ওয়েবসাইট দেখুন" diff --git a/app/_locales/ca/messages.json b/app/_locales/ca/messages.json index 38a1b7eb1fcd..3debb09210b6 100644 --- a/app/_locales/ca/messages.json +++ b/app/_locales/ca/messages.json @@ -393,7 +393,7 @@ "message": "Si necessites fer una còpia de seguretat de la teva frase de recuperació una altra vegada, la pots trobar a Configuració-> Seguretat." }, "endOfFlowMessage7": { - "message": "Si mai tens preguntes o veus alguna cosa sospitosa, envia un correu a support@metamask.io." + "message": "Si mai tens preguntes o veus alguna cosa sospitosa, envia un correu a portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask no pot recuperar la teva seedphrase. Descobreix per què." @@ -423,7 +423,7 @@ "message": "Adreça Pública d'Ethereum" }, "etherscanView": { - "message": "Veure compte a Etherscan" + "message": "Veure compte a Confluxscan" }, "estimatedProcessingTimes": { "message": "Temps de processament estimats" @@ -734,7 +734,7 @@ "message": "Vigila amb la teva frase de recuperació —s'han documentat casos de llocs web que intenten imitar MetaMask. MetaMask mai no et demanarà la frase de recuperació!" }, "protectYourKeysMessage2": { - "message": "Mantingues segura la teva frase. Si veus alguna cosa sospitosa, o no estàs segur d'un lloc web, envia un correu a support@metamask.io" + "message": "Mantingues segura la teva frase. Si veus alguna cosa sospitosa, o no estàs segur d'un lloc web, envia un correu a portal@conflux-chain.org" }, "rpcUrl": { "message": "Nova URL de RPC" @@ -844,7 +844,7 @@ "message": "Adreça del destinatari" }, "recipientAddressPlaceholder": { - "message": "Cerca, adreça pública (0x), o ENS" + "message": "Cerca, adreça pública (0x)" }, "rejectAll": { "message": "Rebutja-ho tot" @@ -1281,7 +1281,7 @@ "message": "Mostra a $1" }, "viewOnEtherscan": { - "message": "Veure a Etherscan" + "message": "Veure a Confluxscan" }, "visitWebSite": { "message": "Visita el nostre lloc web" diff --git a/app/_locales/cs/messages.json b/app/_locales/cs/messages.json index aa6660055267..83ab30cd62e5 100644 --- a/app/_locales/cs/messages.json +++ b/app/_locales/cs/messages.json @@ -164,7 +164,7 @@ "message": "Zadejte heslo" }, "etherscanView": { - "message": "Prohlédněte si účet na Etherscan" + "message": "Prohlédněte si účet na Confluxscan" }, "exportPrivateKey": { "message": "Exportovat privátní klíč" diff --git a/app/_locales/da/messages.json b/app/_locales/da/messages.json index 9adeedbf6f0c..040261d4d206 100644 --- a/app/_locales/da/messages.json +++ b/app/_locales/da/messages.json @@ -396,7 +396,7 @@ "message": "Hvis du får brug for at lave en backup af din seedfrase igen, kan du finde det under Indstillinger -> Sikkerhed." }, "endOfFlowMessage7": { - "message": "Hvis du har spørgsmål eller bemærker noget mistænkeligt, send en mail til support@metamask.io." + "message": "Hvis du har spørgsmål eller bemærker noget mistænkeligt, send en mail til portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask kan ikke gendanne din seed-sætning. Få mere at vide." @@ -426,7 +426,7 @@ "message": "Offentlig Ethereum-adresse" }, "etherscanView": { - "message": "Se konto på Etherscan" + "message": "Se konto på Confluxscan" }, "estimatedProcessingTimes": { "message": "Estimerede behandlingstider" @@ -731,7 +731,7 @@ "message": "Vær forsigtig med din backupsætning - der har været rapporter om websteder, der forsøger at efterligne MetaMask. MetaMask vil aldrig bede om din backupsætning!" }, "protectYourKeysMessage2": { - "message": "Opbevar din frase et sikkert sted. Hvis du ser noget mistænkeligt, eller du er usikker på hjemmesiden, skriv en email til support@metamask.io" + "message": "Opbevar din frase et sikkert sted. Hvis du ser noget mistænkeligt, eller du er usikker på hjemmesiden, skriv en email til portal@conflux-chain.org" }, "rpcUrl": { "message": "Ny RPC-URL" @@ -844,7 +844,7 @@ "message": "Modtagerens adresse" }, "recipientAddressPlaceholder": { - "message": "Søg, offentlig adresse (0x) eller ENS" + "message": "Søg, offentlig adresse (0x)" }, "rejectAll": { "message": "Afvis Alle" @@ -1278,7 +1278,7 @@ "message": "Se på $1" }, "viewOnEtherscan": { - "message": "Se på Etherscan" + "message": "Se på Confluxscan" }, "visitWebSite": { "message": "Besøg vores webside" diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json index f4dcece8e7c1..b086cccdcea0 100644 --- a/app/_locales/de/messages.json +++ b/app/_locales/de/messages.json @@ -381,7 +381,7 @@ "message": "Wenn Sie Ihre mnemonische Phrase erneut sicherstellen müssen, finden Sie sie unter Einstellungen -> Sicherheit." }, "endOfFlowMessage7": { - "message": "Wenn Sie Fragen haben sollten oder etwas Suspektes bemerken, schreiben Sie eine E-Mail an support@metamask.io." + "message": "Wenn Sie Fragen haben sollten oder etwas Suspektes bemerken, schreiben Sie eine E-Mail an portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask kann Ihren Seedschlüssel nicht wiederherstellen. Erfahren Sie mehr." @@ -411,7 +411,7 @@ "message": "Öffentliche Ethereum-Adresse" }, "etherscanView": { - "message": "Account auf Etherscan anschauen" + "message": "Account auf Confluxscan anschauen" }, "estimatedProcessingTimes": { "message": "Geschätzte Bearbeitungszeiten" @@ -726,7 +726,7 @@ "message": "Seien Sie mit Ihrer mnemonischen Phrase vorsichtig - es gab Berichte über Websites, die MetaMask zu imitieren versuchen. MetaMask fragt nie nach Ihrer mnemonischen Phrase!" }, "protectYourKeysMessage2": { - "message": "Bewahren Sie Ihren Schlüssel sicher auf. Wenn etwas faul zu sein scheint oder Sie Zweifel wegen einer Website haben, schicken Sie eine E-Mail an support@metamask.io" + "message": "Bewahren Sie Ihren Schlüssel sicher auf. Wenn etwas faul zu sein scheint oder Sie Zweifel wegen einer Website haben, schicken Sie eine E-Mail an portal@conflux-chain.org" }, "rpcUrl": { "message": "Neue RPC-URL" @@ -832,7 +832,7 @@ "message": "Empfängeradresse" }, "recipientAddressPlaceholder": { - "message": "Suchen, öffentliche Adresse (0x) oder ENS" + "message": "Suchen, öffentliche Adresse (0x)" }, "rejectAll": { "message": "Alle verwerfen" @@ -1269,7 +1269,7 @@ "message": "Für $1 ansehen" }, "viewOnEtherscan": { - "message": "Auf Etherscan ansehen" + "message": "Auf Confluxscan ansehen" }, "visitWebSite": { "message": "Gehe zu unserer Webseite" diff --git a/app/_locales/el/messages.json b/app/_locales/el/messages.json index cb9299c0a878..f090917dced6 100644 --- a/app/_locales/el/messages.json +++ b/app/_locales/el/messages.json @@ -393,7 +393,7 @@ "message": "Αν χρειάζεται να δημιουργήσετε ξανά αντίγραφο της φράσης επαναφοράς σας, μπορείτε να την βρείτε στη Ρυθμίσεις -> Ασφάλεια." }, "endOfFlowMessage7": { - "message": "Εάν έχετε οποιαδήποτε ερώτηση ή αντιληφθείτε κάτι ύποπτο στείλτε μας email στο support@metamask.io." + "message": "Εάν έχετε οποιαδήποτε ερώτηση ή αντιληφθείτε κάτι ύποπτο στείλτε μας email στο portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "Το MetaMask δεν μπορεί να ανακτήσει τη φράση φύτρου σας. Μάθετε περισσότερα." @@ -423,7 +423,7 @@ "message": "Δημόσια Διεύθυνση Ethereum" }, "etherscanView": { - "message": "Προβολή λογαριασμού στο Etherscan" + "message": "Προβολή λογαριασμού στο Confluxscan" }, "estimatedProcessingTimes": { "message": "Εκτιμώμενοι Χρόνοι Επεξεργασίας" @@ -747,7 +747,7 @@ "message": "Να προσέχετε με τη φάση σπόρου. Υπάρχουν αναφορές για ιστότοπους που προσπαθούν να προσποιηθούν ότι είναι το MetaTask. Το MetaTask δεν θα σας ρωτήσει ποτέ για τη φάση σπόρου!" }, "protectYourKeysMessage2": { - "message": "Κρατήστε τη φράση σας ασφαλή. Αν δείτε κάτι ύποπτο ή δεν είστε βέβαιοι για έναν ιστότοπο, στείλτε ένα email στο support@metamask.io" + "message": "Κρατήστε τη φράση σας ασφαλή. Αν δείτε κάτι ύποπτο ή δεν είστε βέβαιοι για έναν ιστότοπο, στείλτε ένα email στο portal@conflux-chain.org" }, "rpcUrl": { "message": "Νέο RPC URL" @@ -863,7 +863,7 @@ "message": "Διεύθυνση Παραλήπτη" }, "recipientAddressPlaceholder": { - "message": "Αναζήτηση, δημόσια διεύθυνση (0x) ή ENS" + "message": "Αναζήτηση, δημόσια διεύθυνση (0x)" }, "rejectAll": { "message": "Απόρριψη Όλων" @@ -1306,7 +1306,7 @@ "message": "Προβολή σε $1" }, "viewOnEtherscan": { - "message": "Προβολή στο Etherscan" + "message": "Προβολή στο Confluxscan" }, "visitWebSite": { "message": "Επισκεφθείτε τον ιστότοπό μας" diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json index 52d4d3641f63..fffa9ab61aa1 100644 --- a/app/_locales/en/messages.json +++ b/app/_locales/en/messages.json @@ -15,7 +15,7 @@ "message": "Select this to use Confluxscan to show incoming transactions in the transactions list" }, "cancelledConnectionWithMetaMask": { - "message": "Cancelled Connection With ConfluxPortal" + "message": "Cancelled Connection With Conflux Portal" }, "chartOnlyAvailableEth": { "message": "Chart only available on Conflux networks." @@ -24,7 +24,7 @@ "message": "Connected Sites" }, "connectingWithMetaMask": { - "message": "Connecting With ConfluxPortal..." + "message": "Connecting With Conflux Portal..." }, "connectTo": { "message": "Connect to $1", @@ -110,7 +110,7 @@ "message": "Add Suggested Tokens" }, "addAcquiredTokens": { - "message": "Add the tokens you've acquired using ConfluxPortal" + "message": "Add the tokens you've acquired using Conflux Portal" }, "allowOriginSpendToken": { "message": "Allow $1 to spend your $2?", @@ -131,7 +131,7 @@ "description": "The description of the application" }, "appName": { - "message": "ConfluxPortal", + "message": "Conflux Portal", "description": "The name of the application" }, "approve": { @@ -159,7 +159,7 @@ "message": "Auto-Lock Timer (minutes)" }, "autoLockTimeLimitDescription": { - "message": "Set the idle time in minutes before ConfluxPortal will automatically log out" + "message": "Set the idle time in minutes before Conflux Portal will automatically log out" }, "average": { "message": "Average" @@ -211,7 +211,7 @@ "message": "Your Browser is not supported..." }, "builtInCalifornia": { - "message": "ConfluxPortal a fork of Metamask which is designed and built in California. It's alterd to use on Conflux network in Beijing." + "message": "Conflux Portal a fork of Metamask which is designed and built in California. It's alterd to use on Conflux network in Beijing." }, "buyWithWyre": { "message": "We don't support Wyre" @@ -265,7 +265,7 @@ "message": "Close" }, "chromeRequiredForHardwareWallets": { - "message": "You need to use ConfluxPortal on Google Chrome in order to connect to your Hardware Wallet. It's not fully tested yet. Use at your own risk." + "message": "You need to use Conflux Portal on Google Chrome in order to connect to your Hardware Wallet. It's not fully tested yet. Use at your own risk." }, "confirm": { "message": "Confirm" @@ -485,16 +485,16 @@ "message": "Never share the phrase with anyone." }, "endOfFlowMessage5": { - "message": "Be careful of phishing! ConfluxPortal will never spontaneously ask for your seed phrase." + "message": "Be careful of phishing! Conflux Portal will never spontaneously ask for your seed phrase." }, "endOfFlowMessage6": { "message": "If you need to back up your seed phrase again, you can find it in Settings -> Security." }, "endOfFlowMessage7": { - "message": "If you ever have questions or see something fishy, email support@metamask.io." + "message": "If you ever have questions or see something fishy, email portal@conflux-chain.org." }, "endOfFlowMessage8": { - "message": "ConfluxPortal cannot recover your seedphrase." + "message": "Conflux Portal cannot recover your seedphrase." }, "endOfFlowMessage9": { "message": "Learn more." @@ -504,7 +504,7 @@ }, "extensionId": { "message": "Extension ID: $1", - "description": "$1 is a string of random letters that are the id of another extension connecting to ConfluxPortal" + "description": "$1 is a string of random letters that are the id of another extension connecting to Conflux Portal" }, "externalExtension": { "message": "External Extension" @@ -552,11 +552,11 @@ "description": "Title of generic error page" }, "errorPageMessage": { - "message": "Try again by reloading the page, or contact support at support@metamask.io", + "message": "Try again by reloading the page, or contact support at portal@conflux-chain.org", "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", + "message": "Try again by closing and reopening the popup, or contact support at portal@conflux-chain.org", "description": "Message displayed on generic error page in the popup UI" }, "errorStack": { @@ -669,7 +669,7 @@ "message": "Connect a hardware wallet" }, "hardwareWalletsMsg": { - "message": "Select a hardware wallet you'd like to use with ConfluxPortal" + "message": "Select a hardware wallet you'd like to use with Conflux Portal" }, "havingTroubleConnecting": { "message": "Having trouble connecting?" @@ -701,7 +701,7 @@ "message": "Import Account" }, "importAccountMsg": { - "message": " Imported accounts will not be associated with your originally created ConfluxPortal account seedphrase. Learn more about imported accounts " + "message": " Imported accounts will not be associated with your originally created Conflux Portal account seedphrase. Learn more about imported accounts " }, "importAccountSeedPhrase": { "message": "Import an Account with Seed Phrase" @@ -805,8 +805,8 @@ "message": "Would you like to add these tokens?" }, "likeToConnect": { - "message": "$1 would like to connect to your ConfluxPortal account", - "description": "$1 is the name/url of a site/dapp asking to connect to ConfluxPortal" + "message": "$1 would like to connect to your Conflux Portal account", + "description": "$1 is the name/url of a site/dapp asking to connect to Conflux Portal" }, "links": { "message": "Links" @@ -851,7 +851,7 @@ "message": "Connecting you to Conflux and the Decentralized Web." }, "metamaskVersion": { - "message": "ConfluxPortal Version" + "message": "Conflux Portal Version" }, "missingYourTokens": { "message": "Don't see your tokens?" @@ -866,13 +866,13 @@ "message": "My Wallet Accounts" }, "myWalletAccountsDescription": { - "message": "All of your ConfluxPortal created accounts will automatically be added to this section." + "message": "All of your Conflux Portal created accounts will automatically be added to this section." }, "mustSelectOne": { "message": "Must select at least 1 token." }, "needEtherInWallet": { - "message": "To interact with decentralized applications using ConfluxPortal, you’ll need CFX in your wallet." + "message": "To interact with decentralized applications using Conflux Portal, you’ll need CFX in your wallet." }, "needImportFile": { "message": "You must select a file to import.", @@ -916,7 +916,7 @@ "message": "New Network" }, "newToMetaMask": { - "message": "New to ConfluxPortal?" + "message": "New to Conflux Portal?" }, "noAlreadyHaveSeed": { "message": "No, I already have a seed phrase" @@ -925,10 +925,10 @@ "message": "Protect Your Keys!" }, "protectYourKeysMessage1": { - "message": "Be careful with your seed phrase — there have been reports of websites that attempt to imitate ConfluxPortal. ConfluxPortal will never ask for your seed phrase!" + "message": "Be careful with your seed phrase — there have been reports of websites that attempt to imitate Conflux Portal. Conflux Portal 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" + "message": "Keep your phrase safe. If you see something fishy, or you’re uncertain about a website, email portal@conflux-chain.org" }, "rpcUrl": { "message": "New RPC URL" @@ -953,7 +953,7 @@ }, "nextNonceWarning": { "message": "Nonce is higher than suggested nonce of $1", - "description": "The next nonce according to ConfluxPortal's internal logic" + "description": "The next nonce according to Portal's internal logic" }, "noAddressForName": { "message": "No address has been set for this name." @@ -995,7 +995,7 @@ "message": "Participate in MetaMetrics (actually that's a metamask thing not conflux thing, we don't have this for real)" }, "participateInMetaMetricsDescription": { - "message": "Participate in MetaMetrics to help us make ConfluxPortal better (actually that's a metamask thing not conflux thing, we don't have this for real)" + "message": "Participate in MetaMetrics to help us make Conflux Portal better (actually that's a metamask thing not conflux thing, we don't have this for real)" }, "password": { "message": "Password" @@ -1057,7 +1057,7 @@ "message": "Recipient Address" }, "recipientAddressPlaceholder": { - "message": "Search, public address (0x), or ENS" + "message": "Search, public address (0x)" }, "rejectAll": { "message": "Reject All" @@ -1136,7 +1136,7 @@ "message": "Ready to Connect?" }, "revokeInPermissions": { - "message": "* You can view and revoke permissions in ConfluxPortal settings." + "message": "* You can view and revoke permissions in Conflux Portal settings." }, "rinkeby": { "message": "Rinkeby Test Network" @@ -1244,7 +1244,7 @@ "message": "Select an Account" }, "selectAnAccountHelp": { - "message": "Select the account to view in ConfluxPortal" + "message": "Select the account to view in Conflux Portal" }, "selectAHigherGasFee": { "message": "Select a higher gas fee to accelerate the processing of your transaction.*" @@ -1326,7 +1326,7 @@ "message": "Switch Networks" }, "stateLogFileName": { - "message": "ConfluxPortal State Logs" + "message": "Conflux Portal State Logs" }, "stateLogs": { "message": "State Logs" @@ -1392,16 +1392,16 @@ "message": "You can sync your accounts and information with your mobile device. Open the ConfluxPortal mobile app, go to \"Settings\" and tap on \"Sync from Browser Extension\" (Conflux version of MetaMask don't support mobile yet)" }, "syncWithMobileDescNewUsers": { - "message": "If you just open the ConfluxPortal Mobile app for the first time, just follow the steps in your phone. (Conflux version of MetaMask don't support mobile yet)" + "message": "If you just open the Conflux Portal Mobile app for the first time, just follow the steps in your phone. (Conflux version of MetaMask don't support mobile yet)" }, "syncWithMobileScanThisCode": { - "message": "Scan this code with your ConfluxPortal mobile app (Conflux version of MetaMask don't support mobile yet)" + "message": "Scan this code with your Conflux Portal mobile app (Conflux version of MetaMask don't support mobile yet)" }, "syncWithMobileBeCareful": { "message": "Make sure nobody else is looking at your screen when you scan this code (Conflux version of MetaMask don't support mobile yet)" }, "syncWithMobileComplete": { - "message": "Your data has been synced successfully. Enjoy the ConfluxPortal mobile app! (Conflux version of MetaMask don't support mobile yet)" + "message": "Your data has been synced successfully. Enjoy the Conflux Portal mobile app! (Conflux version of MetaMask don't support mobile yet)" }, "terms": { "message": "Terms of Use" @@ -1418,7 +1418,7 @@ }, "thisWillAllowExternalExtension": { "message": "This will allow an external extension with id $1 to:", - "description": "$1 is a string of random letters that are the id of another extension connecting to ConfluxPortal" + "description": "$1 is a string of random letters that are the id of another extension connecting to Conflux Portal" }, "thisWillCreate": { "message": "This will create a new wallet and seed phrase" @@ -1434,7 +1434,7 @@ }, "toConnectWith": { "message": "To connect with $1", - "description": "$1 is the name or domain of a site/dapp that asking to connect with ConfluxPortal" + "description": "$1 is the name or domain of a site/dapp that asking to connect with Conflux Portal" }, "toETHviaShapeShift": { "message": "$1 to CFX via ShapeShift", @@ -1518,7 +1518,7 @@ "message": "Try again" }, "typePassword": { - "message": "Type your ConfluxPortal password" + "message": "Type your Conflux Portal password" }, "unapproved": { "message": "Unapproved" @@ -1593,7 +1593,7 @@ "message": "Welcome Back!" }, "welcome": { - "message": "Welcome to ConfluxPortal" + "message": "Welcome to Conflux Portal" }, "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." diff --git a/app/_locales/es/messages.json b/app/_locales/es/messages.json index 4fed0b1fb1ce..3a18887e9a1f 100644 --- a/app/_locales/es/messages.json +++ b/app/_locales/es/messages.json @@ -344,7 +344,7 @@ "message": "Introducir contraseña para seguir" }, "etherscanView": { - "message": "Ver la cuenta en Etherscan" + "message": "Ver la cuenta en Confluxscan" }, "estimatedProcessingTimes": { "message": "Tiempo Previsto de procesamiento" @@ -1044,7 +1044,7 @@ "message": "Mirar cuenta" }, "viewOnEtherscan": { - "message": "Ver en Etherscan" + "message": "Ver en Confluxscan" }, "visitWebSite": { "message": "Visita nuestro sitio web" diff --git a/app/_locales/es_419/messages.json b/app/_locales/es_419/messages.json index ac8d8569f241..9f7774383ec3 100644 --- a/app/_locales/es_419/messages.json +++ b/app/_locales/es_419/messages.json @@ -393,7 +393,7 @@ "message": "Si necesitas otra copia de seguridad de tu frase de inicialización, puedes encontrarla en Configuración -> Seguridad." }, "endOfFlowMessage7": { - "message": "Si tienes preguntas o ves algo sospechoso, envía un correo electrónico a support@metamask.io." + "message": "Si tienes preguntas o ves algo sospechoso, envía un correo electrónico a portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask no puede recuperar tu frase de inicialización. Obtén más información." @@ -423,7 +423,7 @@ "message": "Dirección pública de Ethereum" }, "etherscanView": { - "message": "Ver cuenta en Etherscan" + "message": "Ver cuenta en Confluxscan" }, "estimatedProcessingTimes": { "message": "Tiempo estimado de procesamiento" @@ -735,7 +735,7 @@ "message": "Ten cuidado con tu frase de inicialización: hay informes sobre sitios web que intentan hacerse pasar por MetaMask. ¡MetaMask no te pedirá nunca tu frase de inicialización!" }, "protectYourKeysMessage2": { - "message": "Mantén tu frase segura. Si notas algo raro o si no está seguro sobre si usar algún sitio web en específico, envíanos un correo electrónico a support@metamask.io" + "message": "Mantén tu frase segura. Si notas algo raro o si no está seguro sobre si usar algún sitio web en específico, envíanos un correo electrónico a portal@conflux-chain.org" }, "rpcUrl": { "message": "Nueva URL de RPC" @@ -851,7 +851,7 @@ "message": "Dirección del destinatario" }, "recipientAddressPlaceholder": { - "message": "Buscar, dirección pública (0x) o ENS" + "message": "Buscar, dirección pública (0x)" }, "rejectAll": { "message": "Rechazar todo" @@ -1291,7 +1291,7 @@ "message": "Ver en $1" }, "viewOnEtherscan": { - "message": "Ver en Etherscan" + "message": "Ver en Confluxscan" }, "visitWebSite": { "message": "Visita nuestro sitio web" diff --git a/app/_locales/et/messages.json b/app/_locales/et/messages.json index 191563c2fc61..0ed7809d19bf 100644 --- a/app/_locales/et/messages.json +++ b/app/_locales/et/messages.json @@ -396,7 +396,7 @@ "message": "Kui peate oma seemnefraasi uuesti varundama, leiate selle valikust Settings (Seaded) -> Security (Turvalisus)." }, "endOfFlowMessage7": { - "message": "Kui teil on küsimusi või näete midagi kahtlast, kirjutage meile support@metamask.io." + "message": "Kui teil on küsimusi või näete midagi kahtlast, kirjutage meile portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask ei saa teie seemnefraasi taastada. Lisateave." @@ -426,7 +426,7 @@ "message": "Ethereumi avalik aadress" }, "etherscanView": { - "message": "Vaadake kontot Etherscanil" + "message": "Vaadake kontot Confluxscanil" }, "estimatedProcessingTimes": { "message": "Eeldatavad töötlemisajad" @@ -740,7 +740,7 @@ "message": "Kaitske oma seemnefraasi. Meid on teavitatud veebilehtedest, mis püüavad MetaMaski jäljendada. MetaMask ei küsi teilt kunagi teie seemnefraasi!" }, "protectYourKeysMessage2": { - "message": "Kaitske oma seemnefraasi. Kui näete midagi kahtlast või pole veebilehe ehtsuses kindel, saatke e-kiri aadressile support@metamask.io" + "message": "Kaitske oma seemnefraasi. Kui näete midagi kahtlast või pole veebilehe ehtsuses kindel, saatke e-kiri aadressile portal@conflux-chain.org" }, "rpcUrl": { "message": "Uus RPC URL" @@ -856,7 +856,7 @@ "message": "Saaja aadress" }, "recipientAddressPlaceholder": { - "message": "Otsing, avalik aadress (0x) või ENS" + "message": "Otsing, avalik aadress (0x)" }, "rejectAll": { "message": "Lükka kõik tagasi" @@ -1302,7 +1302,7 @@ "message": "Vaata $1" }, "viewOnEtherscan": { - "message": "Kuva Etherscanil" + "message": "Kuva Confluxscanil" }, "visitWebSite": { "message": "Külastage meie veebilehte" diff --git a/app/_locales/fa/messages.json b/app/_locales/fa/messages.json index f95adee30840..de86b2f16232 100644 --- a/app/_locales/fa/messages.json +++ b/app/_locales/fa/messages.json @@ -396,7 +396,7 @@ "message": "در صورتیکه شما نیاز به گرفتن دوباره پشتیبان عبارت بازیاب داشته باشید، میتوانید آنرا در Settings -> Security دریافت نمایید." }, "endOfFlowMessage7": { - "message": "در صورتیکه پرسشی داشته یا چیزی مشکوک را میبینید، به support@metamask.io ایمیل کنید." + "message": "در صورتیکه پرسشی داشته یا چیزی مشکوک را میبینید، به portal@conflux-chain.org ایمیل کنید." }, "endOfFlowMessage8": { "message": "MetaMask نمیتواند عبارت بازیاب تان را دوباره دریافت نماید.\nبیشتر بدانید." @@ -426,7 +426,7 @@ "message": "آدرس عمومی ایتریم" }, "etherscanView": { - "message": "حساب را در Etherscan ببینید" + "message": "حساب را در Confluxscan ببینید" }, "estimatedProcessingTimes": { "message": "زمان های تخمینی پروسس" @@ -750,7 +750,7 @@ "message": "مراقب عبارت بازیاب تان باشید - گفته هایی وجود دارد که وبسایت ها تلاش میکنند تا از MetaMask نسخه برداری کنند. MetaMask هرگز از شما عبارت بازیاب را نمیپرسد!" }, "protectYourKeysMessage2": { - "message": "عبارت تان را مصؤن نگهدارید. در صورت مشاهده چیز مشکوک، یا در صورتیکه در مورد یک وبسایت مطمئن نیستید، به support@metamask.io ایمیل کنید" + "message": "عبارت تان را مصؤن نگهدارید. در صورت مشاهده چیز مشکوک، یا در صورتیکه در مورد یک وبسایت مطمئن نیستید، به portal@conflux-chain.org ایمیل کنید" }, "rpcUrl": { "message": "RPC URL جدید" @@ -866,7 +866,7 @@ "message": "آدرس دریافت کننده" }, "recipientAddressPlaceholder": { - "message": "جستجو، آدرس عمومی (0x)، یا ENS" + "message": "جستجو، آدرس عمومی (0x)" }, "rejectAll": { "message": "رد همه" diff --git a/app/_locales/fi/messages.json b/app/_locales/fi/messages.json index 31f1ff147e71..b8376e78be9f 100644 --- a/app/_locales/fi/messages.json +++ b/app/_locales/fi/messages.json @@ -393,7 +393,7 @@ "message": "Jos tarvitse uuden varmuuskopion juurilauseestasi, niin se löytyy osiosta Asetukset -> Turvallisuus." }, "endOfFlowMessage7": { - "message": "Jos sinulla on joskus jotakin kysyttävää tai jos näet jotakin epäilyttävää, lähetä sähköpostia osoitteeseen support@metamask.io." + "message": "Jos sinulla on joskus jotakin kysyttävää tai jos näet jotakin epäilyttävää, lähetä sähköpostia osoitteeseen portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask ei pysty palauttamaan salaustekstiäsi. Lue lisää." @@ -423,7 +423,7 @@ "message": "Ethereumin julkinen osoite" }, "etherscanView": { - "message": "Tarkastele tiliä Etherscanissa" + "message": "Tarkastele tiliä Confluxscanissa" }, "estimatedProcessingTimes": { "message": "Arvioidut käsittelyajat" @@ -747,7 +747,7 @@ "message": "Ole varovainen salausavaimesi kanssa – joidenkin verkkosivustojen kerrotaan yrittäneen matkia MetaMaskia. MetaMask ei koskaan kysy salausavaintasi!" }, "protectYourKeysMessage2": { - "message": "Pidä lauseesi tallessa. Jos näet jotain epäilyttävää tai et ole varma jostain sivustosta, lähetä sähköpostia osoitteeseen support@metamask.io" + "message": "Pidä lauseesi tallessa. Jos näet jotain epäilyttävää tai et ole varma jostain sivustosta, lähetä sähköpostia osoitteeseen portal@conflux-chain.org" }, "rpcUrl": { "message": "Uusi RPC:n URL" @@ -863,7 +863,7 @@ "message": "Vastaanottajan osoite" }, "recipientAddressPlaceholder": { - "message": "Haku, julkinen osoite (0x) tai ENS" + "message": "Haku, julkinen osoite (0x)" }, "rejectAll": { "message": "Hylkää kaikki" @@ -1309,7 +1309,7 @@ "message": "Tarkastele kohdassa $1" }, "viewOnEtherscan": { - "message": "Näytä Etherscanissa" + "message": "Näytä Confluxscanissa" }, "visitWebSite": { "message": "Vieraile verkkosivustollamme" diff --git a/app/_locales/fil/messages.json b/app/_locales/fil/messages.json index 8594b185efd2..86d3dc4cdcad 100644 --- a/app/_locales/fil/messages.json +++ b/app/_locales/fil/messages.json @@ -369,7 +369,7 @@ "message": "Kung kailangan mong i-back up ulit ang iyong seed phrase, makikita mo ito sa Mga Setting -> Seguridad." }, "endOfFlowMessage7": { - "message": "Kung may mga tanong ka o nakakita ka ng kahina-hinalang bagay, i-email ang support@metamask.io." + "message": "Kung may mga tanong ka o nakakita ka ng kahina-hinalang bagay, i-email ang portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "Hindi ma-recover ng MetaMask ang iyong seedphrase. Alamin pa." @@ -396,7 +396,7 @@ "message": "Ilagay ang password para magpatuloy" }, "etherscanView": { - "message": "Tingnan ang account sa Etherscan" + "message": "Tingnan ang account sa Confluxscan" }, "estimatedProcessingTimes": { "message": "Tinatantiyang Tagal ng Pagproseso" @@ -681,7 +681,7 @@ "message": "Mag-ingat sa iyong seed phrase — may mga ulat na may mga website na nagpapanggap bilang MetaMask. Hindi kailanman hihilingin ng MetaMask ang iyong seed phrase!" }, "protectYourKeysMessage2": { - "message": "Panatilihing ligtas ang iyong parirala. Kung may makikita kang kahina-hinala, o hindi ka sigurado tungkol sa isang website, mag-email sa support@metamask.io" + "message": "Panatilihing ligtas ang iyong parirala. Kung may makikita kang kahina-hinala, o hindi ka sigurado tungkol sa isang website, mag-email sa portal@conflux-chain.org" }, "rpcUrl": { "message": "Bagong RPC URL" @@ -790,7 +790,7 @@ "message": "Address ng Recipient" }, "recipientAddressPlaceholder": { - "message": "Maghanap, pampublikong address (0x), o ENS" + "message": "Maghanap, pampublikong address (0x)" }, "rejectAll": { "message": "Tanggihan Lahat" @@ -1203,7 +1203,7 @@ "message": "Tingnan sa $1" }, "viewOnEtherscan": { - "message": "Tingnan sa Etherscan" + "message": "Tingnan sa Confluxscan" }, "visitWebSite": { "message": "Bisitahin ang aming web site" diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json index 937d0e520ef3..c52458a46e28 100644 --- a/app/_locales/fr/messages.json +++ b/app/_locales/fr/messages.json @@ -384,7 +384,7 @@ "message": "Si vous avez besoin de sauvegarder à nouveau votre phrase de départ, vous pouvez la trouver dans Paramètres -> Sécurité." }, "endOfFlowMessage7": { - "message": "Si vous avez des questions ou remarquez quelque chose de suspect, envoyez un e-mail à : support@metamask.io." + "message": "Si vous avez des questions ou remarquez quelque chose de suspect, envoyez un e-mail à : portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask ne peut pas récupérer votre phrase de départ. Renseignez-vous davantage." @@ -414,7 +414,7 @@ "message": "Adresse publique d'Ethereum" }, "etherscanView": { - "message": "Afficher le compte sur Etherscan" + "message": "Afficher le compte sur Confluxscan" }, "estimatedProcessingTimes": { "message": "Délais de traitement estimés" @@ -729,7 +729,7 @@ "message": "Soyez prudent avec votre phrase mnémotechnique — on nous a signalé des sites web qui tentaient d'imiter MetaMask. MetaMask ne vous demandera jamais votre phrase mnémotechnique !" }, "protectYourKeysMessage2": { - "message": "Ne dévoilez pas votre phrase. Si vous remarquez quelque chose de suspect ou que vous avez un doute à propos d'un site web, envoyez un e-mail à : support@metamask.io" + "message": "Ne dévoilez pas votre phrase. Si vous remarquez quelque chose de suspect ou que vous avez un doute à propos d'un site web, envoyez un e-mail à : portal@conflux-chain.org" }, "rpcUrl": { "message": "Nouvelle URL de RPC" @@ -845,7 +845,7 @@ "message": "Adresse du destinataire" }, "recipientAddressPlaceholder": { - "message": "Recherche, adresse publique (0x) ou ENS" + "message": "Recherche, adresse publique (0x)" }, "rejectAll": { "message": "Tout rejeter" @@ -1285,7 +1285,7 @@ "message": "Afficher à $1" }, "viewOnEtherscan": { - "message": "Voir sur Etherscan" + "message": "Voir sur Confluxscan" }, "visitWebSite": { "message": "Visitez notre site web" diff --git a/app/_locales/he/messages.json b/app/_locales/he/messages.json index bc906bafd042..e43883ac2fb1 100644 --- a/app/_locales/he/messages.json +++ b/app/_locales/he/messages.json @@ -396,7 +396,7 @@ "message": "אם עליך לגבות את צירוף הגרעין שלך שוב, תוכל/י למצוא זאת בהגדרות -> אבטחה." }, "endOfFlowMessage7": { - "message": "אם יש לך שאלות או שנתקלת במשהו חשוד, שלח/י מייל ל- support@metamask.io." + "message": "אם יש לך שאלות או שנתקלת במשהו חשוד, שלח/י מייל ל- portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask לא הצליח לשחזר את ה-seedphrase שלך. למד/י עוד." @@ -426,7 +426,7 @@ "message": "כתובת אתריום ציבורית" }, "etherscanView": { - "message": "הצג חשבון ב- Etherscan" + "message": "הצג חשבון ב- Confluxscan" }, "estimatedProcessingTimes": { "message": "זמני עיבוד משוערים" @@ -747,7 +747,7 @@ "message": "יש לנקוט זהירות בנוגע לצירוף הגרעין שלך - היו דיווחים על אתרים שמנסים להתחזות ל-MetaMask .MetaMask לעולם לא תבקש את צירוף הגרעין שלך!" }, "protectYourKeysMessage2": { - "message": "יש לשמור את ה-seedphrase שלך במקום בטוח. אם את/ה רואה משהו חשוד, או שאינך בטוח/ה בנוע לאתר, שלח/י אימייל לכתובת support@metamask.io" + "message": "יש לשמור את ה-seedphrase שלך במקום בטוח. אם את/ה רואה משהו חשוד, או שאינך בטוח/ה בנוע לאתר, שלח/י אימייל לכתובת portal@conflux-chain.org" }, "rpcUrl": { "message": "כתובת URL חדשה של RPC" @@ -863,7 +863,7 @@ "message": "כתובת הנמען" }, "recipientAddressPlaceholder": { - "message": "חיפוש, כתובת ציבורית (0x), או ENS" + "message": "חיפוש, כתובת ציבורית (0x)" }, "rejectAll": { "message": "דחה הכל" @@ -1306,7 +1306,7 @@ "message": "הצג ב- $1" }, "viewOnEtherscan": { - "message": "הצג ב-Etherscan" + "message": "הצג ב-Confluxscan" }, "visitWebSite": { "message": "בקר/י באתר שלנו" diff --git a/app/_locales/hi/messages.json b/app/_locales/hi/messages.json index d3a955013501..e008b62b8b5e 100644 --- a/app/_locales/hi/messages.json +++ b/app/_locales/hi/messages.json @@ -396,7 +396,7 @@ "message": "यदि आपको अपने सीड फ़्रेज़ का बैक अप लेने की आवश्यकता है तो आप इसे सेटिंग्स -> सुरक्षा में पा सकते हैं।" }, "endOfFlowMessage7": { - "message": "यदि आपका कोई भी प्रश्न है या कोई गड़बड़ पाते हैं तो support@metamask.io पर ईमेल करें।" + "message": "यदि आपका कोई भी प्रश्न है या कोई गड़बड़ पाते हैं तो portal@conflux-chain.org पर ईमेल करें।" }, "endOfFlowMessage8": { "message": "मेटामास्क आपके बीज वाक्यांश को पुनर्प्राप्त नहीं कर सकता है। और अधिक जानें।" @@ -426,7 +426,7 @@ "message": "ईथरअम पब्लिक एड्रेस" }, "etherscanView": { - "message": "Etherscan पर खाता दिखाएँ" + "message": "Confluxscan पर खाता दिखाएँ" }, "estimatedProcessingTimes": { "message": "प्रोसेस करने के अनुमानित समय" @@ -747,7 +747,7 @@ "message": "अपने सीड फ़्रेज़ के बारे में सावधान रहें — ऐसी वेबसाइटों की रिपोर्टें आई हैं जो MetaMask की नकल करने का प्रयास करती हैं। MetaMask आपके सीड फ़्रेज़ के बारे में कभी नहीं पूछेगा!" }, "protectYourKeysMessage2": { - "message": "अपने वाक्यांश को सुरक्षित रखें। यदि आपको कुछ गड़बड़ दिखती है, या आप किसी वेबसाइट के बारे में अनिश्चित हैं तो support@metamask.io को ई मेल करें\n" + "message": "अपने वाक्यांश को सुरक्षित रखें। यदि आपको कुछ गड़बड़ दिखती है, या आप किसी वेबसाइट के बारे में अनिश्चित हैं तो portal@conflux-chain.org को ई मेल करें\n" }, "rpcUrl": { "message": "नया RPC URL" @@ -863,7 +863,7 @@ "message": "प्राप्तकर्ता का पता" }, "recipientAddressPlaceholder": { - "message": "ढूँढें, सार्वजनिक पता (0x), या ENS" + "message": "ढूँढें, सार्वजनिक पता (0x)" }, "rejectAll": { "message": "सभी को अस्वीकार करें" diff --git a/app/_locales/hr/messages.json b/app/_locales/hr/messages.json index aa22658e4611..fd2f5ac3d7c4 100644 --- a/app/_locales/hr/messages.json +++ b/app/_locales/hr/messages.json @@ -396,7 +396,7 @@ "message": "Ako trebate ponovno sigurnosno kopirati svoju početnu rečenicu, možete je pronaći unutar stavke Postavke --> Sigurnost." }, "endOfFlowMessage7": { - "message": "Ako imate bilo kakvo pitanje ili vidite nešto što vam se čini sumnjivim, pošaljite nam elektroničku poruku na support@metamask.io." + "message": "Ako imate bilo kakvo pitanje ili vidite nešto što vam se čini sumnjivim, pošaljite nam elektroničku poruku na portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "Osoblje MetaMask ne može obnoviti vašu početnu rečenicu. Saznajte više." @@ -426,7 +426,7 @@ "message": "Javna adresa Ethereum" }, "etherscanView": { - "message": "Prikaži račun na Etherscanu" + "message": "Prikaži račun na Confluxscanu" }, "estimatedProcessingTimes": { "message": "Procijenjeno vrijeme obrade" @@ -743,7 +743,7 @@ "message": "Pazite na svoju početnu rečenicu jer smo zaprimili prijave o postojanju mrežnih mjesta koja oponašaju mrežno mjesto usluge MetaMask. Na mrežnom se mjestu MetaMask nikada ne traži vaša početna rečenica!" }, "protectYourKeysMessage2": { - "message": "Zaštite svoju rečenicu. Ako vam se nešto čini sumnjivim ili nemate povjerenja u mrežno mjesto, pošaljite nam elektroničku poruku na support@metamask.io" + "message": "Zaštite svoju rečenicu. Ako vam se nešto čini sumnjivim ili nemate povjerenja u mrežno mjesto, pošaljite nam elektroničku poruku na portal@conflux-chain.org" }, "rpcUrl": { "message": "Novi URL RPC-a" @@ -859,7 +859,7 @@ "message": "Adresa primatelja" }, "recipientAddressPlaceholder": { - "message": "Pretraži, javne adrese (0x) ili ENS" + "message": "Pretraži, javne adrese (0x)" }, "rejectAll": { "message": "Odbaci sve" @@ -1302,7 +1302,7 @@ "message": "Prikaži u $1" }, "viewOnEtherscan": { - "message": "Prikaži na Etherscanu" + "message": "Prikaži na Confluxscanu" }, "visitWebSite": { "message": "Posjetite naše mrežno mjesto" diff --git a/app/_locales/ht/messages.json b/app/_locales/ht/messages.json index 8ae90a17d5be..0fccc66910ce 100644 --- a/app/_locales/ht/messages.json +++ b/app/_locales/ht/messages.json @@ -227,7 +227,7 @@ "message": "Mete modpas pou kontinye" }, "etherscanView": { - "message": "Gade kont sou Etherscan" + "message": "Gade kont sou Confluxscan" }, "expandView": { "message": "Elaji Wè" @@ -813,7 +813,7 @@ "message": "Wè Kont" }, "viewOnEtherscan": { - "message": "Wè sou Etherscan" + "message": "Wè sou Confluxscan" }, "visitWebSite": { "message": "Vizite sit entènèt nou an" diff --git a/app/_locales/hu/messages.json b/app/_locales/hu/messages.json index 8d0c94228f7c..249c1e8efd5d 100644 --- a/app/_locales/hu/messages.json +++ b/app/_locales/hu/messages.json @@ -396,7 +396,7 @@ "message": "Ha ismét biztonsági másolatot kell készítenie a seed mondatról, megtalálja azt a Beállítások -> Biztonság menüben." }, "endOfFlowMessage7": { - "message": "Ha bármilyen kérdése van, vagy valami gyanús dolgot tapasztal, írjon a support@metamask.io címre." + "message": "Ha bármilyen kérdése van, vagy valami gyanús dolgot tapasztal, írjon a portal@conflux-chain.org címre." }, "endOfFlowMessage8": { "message": "A MetaMask nem tudta helyreállítani a seed mondatot. Tudjon meg többet." @@ -426,7 +426,7 @@ "message": "Ethereum nyilvános címe" }, "etherscanView": { - "message": "Fiók megtekintése Etherscanen" + "message": "Fiók megtekintése Confluxscanen" }, "estimatedProcessingTimes": { "message": "Becsült feldolgozási idők" @@ -743,7 +743,7 @@ "message": "Vigyázzod a gyarapítási fázissal - olyan oldalakat jelentettek, amelyek a MetaMask-ot utánozzák. A MetaMask soha nem kéri el a gyarapítási fázisát." }, "protectYourKeysMessage2": { - "message": "Őrizze biztonságos helyen a mondatot. Ha bármilyen gyanús dolgot tapasztal, vagy bizonytalan egy weboldalt illetően, írjon a support@metamask.io címre." + "message": "Őrizze biztonságos helyen a mondatot. Ha bármilyen gyanús dolgot tapasztal, vagy bizonytalan egy weboldalt illetően, írjon a portal@conflux-chain.org címre." }, "rpcUrl": { "message": "Új RPC URL" @@ -859,7 +859,7 @@ "message": "Címzett címe" }, "recipientAddressPlaceholder": { - "message": "Keresés, nyilvános cím (0x) vagy ENS" + "message": "Keresés, nyilvános cím (0x)" }, "rejectAll": { "message": "Mindet elutasít" @@ -1302,7 +1302,7 @@ "message": "Megtekintés $1-kor" }, "viewOnEtherscan": { - "message": "Nézze meg Etherscanen" + "message": "Nézze meg Confluxscanen" }, "visitWebSite": { "message": "Látogass el weboldalunkra" diff --git a/app/_locales/id/messages.json b/app/_locales/id/messages.json index d7281ab629ea..9dc33d8b7871 100644 --- a/app/_locales/id/messages.json +++ b/app/_locales/id/messages.json @@ -387,7 +387,7 @@ "message": "Jika Anda perlu mencadangkan frase seed lagi, Anda dapat menemukannya dalam Pengaturan -> Keamanan." }, "endOfFlowMessage7": { - "message": "Jika Anda punya pertanyaan atau melihat sesuatu yang ganjil, kirimkan email ke support@metamask.io." + "message": "Jika Anda punya pertanyaan atau melihat sesuatu yang ganjil, kirimkan email ke portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask tidak dapat memulihkan frasa seed Anda. Pelajari lebih lanjut." @@ -417,7 +417,7 @@ "message": "Alamat Publik Ethereum " }, "etherscanView": { - "message": "Lihat akun di Etherscan" + "message": "Lihat akun di Confluxscan" }, "estimatedProcessingTimes": { "message": "Estimasi Waktu Pemrosesan" @@ -728,7 +728,7 @@ "message": "Berhati-hatilah dengan frasa seed Anda — terdapat laporan tentang website yang coba mengimitasi MetaMask. MetaMask tidak akan pernah meminta frasa seed Anda!" }, "protectYourKeysMessage2": { - "message": "Jaga keamanan frasa Anda. Jika Anda menemukan sesuatu yang mencurigakan, atau ragu dengan sebuah situs web, kirim surel ke support@metamask.io" + "message": "Jaga keamanan frasa Anda. Jika Anda menemukan sesuatu yang mencurigakan, atau ragu dengan sebuah situs web, kirim surel ke portal@conflux-chain.org" }, "rpcUrl": { "message": "URL RPC Baru" @@ -844,7 +844,7 @@ "message": "Alamat Penerima" }, "recipientAddressPlaceholder": { - "message": "Pencarian, alamat publik (0x), atau ENS" + "message": "Pencarian, alamat publik (0x)" }, "rejectAll": { "message": "Tolak Semua" @@ -1281,7 +1281,7 @@ "message": "Lihat di $1" }, "viewOnEtherscan": { - "message": "Lihat di Etherscan" + "message": "Lihat di Confluxscan" }, "visitWebSite": { "message": "Kunjungi website kami" diff --git a/app/_locales/it/messages.json b/app/_locales/it/messages.json index e03c58d0555e..d5e264c28a6a 100644 --- a/app/_locales/it/messages.json +++ b/app/_locales/it/messages.json @@ -375,7 +375,7 @@ "message": "Se vorrai fare nuovamente un backup della frase, la puoi trovare in Impostazioni -> Sicurezza & Privacy." }, "endOfFlowMessage7": { - "message": "Se hai delle domande o vedi delle attività sospette, manda una mail a support@metamask.io." + "message": "Se hai delle domande o vedi delle attività sospette, manda una mail a portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask non può recuperare la tua frase seed. Impara di più." @@ -405,7 +405,7 @@ "message": "Indirizzo pubblico Ethereum " }, "etherscanView": { - "message": "Vedi account su Etherscan" + "message": "Vedi account su Confluxscan" }, "estimatedProcessingTimes": { "message": "Tempi di Elaborazione Stimati" @@ -716,7 +716,7 @@ "message": "Stai attento con la tua frase seed - ci sono stati report di siti web che hanno tentato di imitare MetaMask. MetaMask non ti chiederà mai la tua frase seed!" }, "protectYourKeysMessage2": { - "message": "Tieni la tua frase al sicuro. Se vedi qualcosa di sospetto, o non sei sicuro di un sito web, manda una mail a support@metamask.io" + "message": "Tieni la tua frase al sicuro. Se vedi qualcosa di sospetto, o non sei sicuro di un sito web, manda una mail a portal@conflux-chain.org" }, "rpcUrl": { "message": "Nuovo URL RPC" @@ -829,7 +829,7 @@ "message": "Indirizzo Destinatario" }, "recipientAddressPlaceholder": { - "message": "Ricerca, indirizzo pubblico (0x) o ENS" + "message": "Ricerca, indirizzo pubblico (0x)" }, "rejectAll": { "message": "Respingi Tutto" @@ -1272,7 +1272,7 @@ "message": "Vedi su $1" }, "viewOnEtherscan": { - "message": "Vedi su Etherscan" + "message": "Vedi su Confluxscan" }, "visitWebSite": { "message": "Visita il nostro sito web" diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json index 2cb64059c8ee..f7b7fc095ef1 100644 --- a/app/_locales/ja/messages.json +++ b/app/_locales/ja/messages.json @@ -212,7 +212,7 @@ "message": "パスワードを入力" }, "etherscanView": { - "message": "Etherscanでアカウントを確認" + "message": "Confluxscanでアカウントを確認" }, "exportPrivateKey": { "message": "秘密鍵のエクスポート" @@ -510,7 +510,7 @@ "message": "アカウントを見る" }, "viewOnEtherscan": { - "message": "Etherscan で見る" + "message": "Confluxscan で見る" }, "walletSeed": { "message": "ウォレットのパスフレーズ" diff --git a/app/_locales/kn/messages.json b/app/_locales/kn/messages.json index 81c134c0e613..42c46db99ce2 100644 --- a/app/_locales/kn/messages.json +++ b/app/_locales/kn/messages.json @@ -396,7 +396,7 @@ "message": "ನಿಮ್ಮ ಸೀಡ್ ಫ್ರೇಸ್‌ನಿಂದ ಮತ್ತೊಮ್ಮೆ ನೀವು ಮತ್ತೆ ಬ್ಯಾಕಪ್ ಮಾಡಬೇಕಾದರೆ, ನೀವು ಅದನ್ನು ಸೆಟ್ಟಿಂಗ್‌ಗಳು -> ಭದ್ರತೆಯಲ್ಲಿ ಕಾಣಬಹುದು." }, "endOfFlowMessage7": { - "message": "ನೀವು ಎಂದಾದರೂ ಪ್ರಶ್ನೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಅಥವಾ ನೀವು ಯಾವಗಲಾದರೂ ಗೊಂದಲಮಯವಾಗಿದ್ದರೆ support@metamask.io ಗೆ ಇಮೇಲ್ ಮಾಡಿ." + "message": "ನೀವು ಎಂದಾದರೂ ಪ್ರಶ್ನೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಅಥವಾ ನೀವು ಯಾವಗಲಾದರೂ ಗೊಂದಲಮಯವಾಗಿದ್ದರೆ portal@conflux-chain.org ಗೆ ಇಮೇಲ್ ಮಾಡಿ." }, "endOfFlowMessage8": { "message": "MetaMask ಗೆ ನಿಮ್ಮ ಸೀಡ್‌ಫ್ರೇಸ್ ಮರಳಿಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ." @@ -750,7 +750,7 @@ "message": "ನಿಮ್ಮ ಸೀಡ್ ಫ್ರೇಸ್‌ನೊಂದಿಗೆ ಜಾಗರೂಕರಾಗಿರಿ — MetaMask ಅನ್ನು ಅನುಕರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ವೆಬ್‌ಸೈಟ್‌ಗಳ ವರದಿಗಳಿವೆ. MetaMask ನಿಮ್ಮ ಸೀಡ್ ಫ್ರೇಸ್ ಅನ್ನು ಎಂದಿಗೂ ಕೇಳುವುದಿಲ್ಲ!" }, "protectYourKeysMessage2": { - "message": "ನಿಮ್ಮ ಫ್ರೇಸ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸಿ. ಏನಾದರೂ ಅನುಮಾನಾಸ್ಪದವಾಗಿರುವುದನ್ನು ಅಥವಾ ವೆಬ್‌ಸೈಟ್ ಕುರಿತು ನಿಮಗೆ ಅನಿಶ್ಚಿತತೆಯಿದ್ದರೆ, support@metamask.io ಗೆ ಇಮೇಲ್ ಮಾಡಿ" + "message": "ನಿಮ್ಮ ಫ್ರೇಸ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸಿ. ಏನಾದರೂ ಅನುಮಾನಾಸ್ಪದವಾಗಿರುವುದನ್ನು ಅಥವಾ ವೆಬ್‌ಸೈಟ್ ಕುರಿತು ನಿಮಗೆ ಅನಿಶ್ಚಿತತೆಯಿದ್ದರೆ, portal@conflux-chain.org ಗೆ ಇಮೇಲ್ ಮಾಡಿ" }, "rpcUrl": { "message": "ಹೊಸ RPC URL" @@ -866,7 +866,7 @@ "message": "ಸ್ವೀಕರಿಸುವವರ ವಿಳಾಸ" }, "recipientAddressPlaceholder": { - "message": "ಸಾರ್ವಜನಿಕ ವಿಳಾಸ (0x) ಅಥವಾ ENS ಹುಡುಕಿ" + "message": "ಸಾರ್ವಜನಿಕ ವಿಳಾಸ (0x)" }, "rejectAll": { "message": "ಎಲ್ಲವನ್ನೂ ತಿರಸ್ಕರಿಸಿ" diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json index f2166ab36903..7ee4fdc20846 100644 --- a/app/_locales/ko/messages.json +++ b/app/_locales/ko/messages.json @@ -393,7 +393,7 @@ "message": "만약 시드 구문을 다시 백업해야한다면, 설정 -> 보안에서 확인할 수 있습니다. " }, "endOfFlowMessage7": { - "message": "만약 질문이 있거나 피싱을 목격했다면 support@metamask.io으로 메일을 보내주세요." + "message": "만약 질문이 있거나 피싱을 목격했다면 portal@conflux-chain.org으로 메일을 보내주세요." }, "endOfFlowMessage8": { "message": "메타마스크는 당신의 시드 구문을 복원해줄 수 없습니다. 더 알아보기." @@ -744,7 +744,7 @@ "message": "시드 문구에 주의하세요 - MetaMask를 모방하려고 한 웹사이트들이 신고됐습니다. MetaMask는 절대로 시드 문구를 묻지 않습니다!" }, "protectYourKeysMessage2": { - "message": "시드 문구를 안전하게 유지하세요. 수상한 점을 발견하거나, 웹사이트에 확신이 들지 않으면 support@metamask.io로 이메일을 보내 주세요" + "message": "시드 문구를 안전하게 유지하세요. 수상한 점을 발견하거나, 웹사이트에 확신이 들지 않으면 portal@conflux-chain.org로 이메일을 보내 주세요" }, "rpcUrl": { "message": "새로운 RPC URL" @@ -857,7 +857,7 @@ "message": "받는 주소" }, "recipientAddressPlaceholder": { - "message": "검색, 공개 주소 (0x), 또는 ENS" + "message": "검색, 공개 주소 (0x)" }, "rejectAll": { "message": "모두 거부" diff --git a/app/_locales/lt/messages.json b/app/_locales/lt/messages.json index d19b40b959d3..1b1fefe924c3 100644 --- a/app/_locales/lt/messages.json +++ b/app/_locales/lt/messages.json @@ -396,7 +396,7 @@ "message": "Jeigu reikia dar kartą padaryti jūsų atkūrimo frazės kopiją, ją galite rasti pasirinkę Nuostatos -> Sauga." }, "endOfFlowMessage7": { - "message": "Jeigu turite klausimų arba pastebite ką nors įtartino, rašykite el. paštu support@metamask.io." + "message": "Jeigu turite klausimų arba pastebite ką nors įtartino, rašykite el. paštu portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "„MetaMask“ negali atkurti jūsų atkūrimo frazės. Sužinokite daugiau." @@ -426,7 +426,7 @@ "message": "„Ethereum“ viešasis adresas" }, "etherscanView": { - "message": "Peržiūrėti paskyrą „Etherscan“ programoje" + "message": "Peržiūrėti paskyrą „Confluxscan“ programoje" }, "estimatedProcessingTimes": { "message": "Numatomos apdorojimo trukmės" @@ -750,7 +750,7 @@ "message": "Saugokite savo atkūrimo frazę – gavome pranešimų apie interneto svetaines, kuriomis bandoma imituoti „MetaMask“. „MetaMask“ niekada neprašys jūsų pateikti savo atkūrimo frazę!" }, "protectYourKeysMessage2": { - "message": "Saugokite savo frazę. Jei pastebėjote kažką įtartino arba nesate tikri dėl svetainės, rašykite mums adresu support@metamask.io" + "message": "Saugokite savo frazę. Jei pastebėjote kažką įtartino arba nesate tikri dėl svetainės, rašykite mums adresu portal@conflux-chain.org" }, "rpcUrl": { "message": "Naujas RPC URL" @@ -866,7 +866,7 @@ "message": "Gavėjo adresas" }, "recipientAddressPlaceholder": { - "message": "Ieška, viešieji adresai (0x) arba ENS" + "message": "Ieška, viešieji adresai (0x)" }, "rejectAll": { "message": "Atmesti viską" @@ -1312,7 +1312,7 @@ "message": "Peržiūrėti $1" }, "viewOnEtherscan": { - "message": "Peržiūrėti „Etherscan“" + "message": "Peržiūrėti „Confluxscan“" }, "visitWebSite": { "message": "Apsilankykite mūsų svetainėje" diff --git a/app/_locales/lv/messages.json b/app/_locales/lv/messages.json index 71d06529b84a..2d98c28a190b 100644 --- a/app/_locales/lv/messages.json +++ b/app/_locales/lv/messages.json @@ -396,7 +396,7 @@ "message": "Ja nepieciešams atkārtoti dublēt atkopšanas frāzi, varat to atrast, dodoties uz Iestatījumi -> Drošība." }, "endOfFlowMessage7": { - "message": "Ja jums rodas kādi jautājumi vai pamanāt ko aizdomīgu, rakstiet uz support@metamask.io." + "message": "Ja jums rodas kādi jautājumi vai pamanāt ko aizdomīgu, rakstiet uz portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask nevar atjaunot jūsu atkopšanas frāzi. Uzzināt vairāk." @@ -426,7 +426,7 @@ "message": "Ethereum publiskā adrese" }, "etherscanView": { - "message": "Skatīt kontu ar Etherscan" + "message": "Skatīt kontu ar Confluxscan" }, "estimatedProcessingTimes": { "message": "Aprēķinātais apstrādes laiks" @@ -746,7 +746,7 @@ "message": "Rīkojieties uzmanīgi ar sēklas frāzi — saņemti ziņojumi par tīmekļa vietnēm, kas mēģina imitēt MetaMask. MetaMask nekad nelūgs norādīt sēklas frāzi." }, "protectYourKeysMessage2": { - "message": "Glabājiet frāzi drošībā. Ja kaut kas šķiet aizdomīgs vai neesat pārliecināti par tīmekļa vietni, rakstiet e-pastu uz support@metamask.io" + "message": "Glabājiet frāzi drošībā. Ja kaut kas šķiet aizdomīgs vai neesat pārliecināti par tīmekļa vietni, rakstiet e-pastu uz portal@conflux-chain.org" }, "rpcUrl": { "message": "Jauns RPC URL" @@ -862,7 +862,7 @@ "message": "Saņēmēja adrese" }, "recipientAddressPlaceholder": { - "message": "Meklēšana, publiskā adrese (0x) vai ENS" + "message": "Meklēšana, publiskā adrese (0x)" }, "rejectAll": { "message": "Noraidīt visus" @@ -1308,7 +1308,7 @@ "message": "Skatīt $1" }, "viewOnEtherscan": { - "message": "Skatīt Etherscan" + "message": "Skatīt Confluxscan" }, "visitWebSite": { "message": "Apmeklējiet mūsu tīmekļa vietni" diff --git a/app/_locales/ms/messages.json b/app/_locales/ms/messages.json index f16184011f9d..937aff8179eb 100644 --- a/app/_locales/ms/messages.json +++ b/app/_locales/ms/messages.json @@ -384,7 +384,7 @@ "message": "Jika anda perlu membuat sandaran ungkapan benih anda sekali lagi, anda boleh lakukannya melalui Tetapan -> Keselamatan." }, "endOfFlowMessage7": { - "message": "JIka anda mempunyai soalan atau melihat sesuatu yang mencurigakan, hantarkan e-mel ke support@metamask.io." + "message": "JIka anda mempunyai soalan atau melihat sesuatu yang mencurigakan, hantarkan e-mel ke portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask tidak dapat memulihkan ungkapan benih anda. Ketahui lebih lanjut." @@ -414,7 +414,7 @@ "message": "Alamat Awam Ethereum" }, "etherscanView": { - "message": "Lihat akaun di Etherscan" + "message": "Lihat akaun di Confluxscan" }, "estimatedProcessingTimes": { "message": "Masa Pemprosesan yang Dijangka" @@ -721,7 +721,7 @@ "message": "Berhati-hati dengan ungkapan benih anda — terdapat laporan ada tapak web yang cuba meniru MetaMask. MetaMask tidak sekali-kali akan meminta ungkapan benih anda!" }, "protectYourKeysMessage2": { - "message": "Pastikan ungkapan anda selamat. Jika anda melihterlihat at sesuatu yang mencurigakan, atau anda tidak pasti mengenai tapak web tertentu, e-mel kepada support@metamask.io" + "message": "Pastikan ungkapan anda selamat. Jika anda melihterlihat at sesuatu yang mencurigakan, atau anda tidak pasti mengenai tapak web tertentu, e-mel kepada portal@conflux-chain.org" }, "rpcUrl": { "message": "URL RPC baru" @@ -837,7 +837,7 @@ "message": "Alamat Penerima" }, "recipientAddressPlaceholder": { - "message": "Cari, alamat awam (0x), atau ENS" + "message": "Cari, alamat awam (0x)" }, "rejectAll": { "message": "Tolak Semua" @@ -1280,7 +1280,7 @@ "message": "Lihat pada $1" }, "viewOnEtherscan": { - "message": "Lihat di Etherscan" + "message": "Lihat di Confluxscan" }, "visitWebSite": { "message": "Kunjungi laman web kami" diff --git a/app/_locales/nl/messages.json b/app/_locales/nl/messages.json index 6da9261cf0b4..92bdcc30c50e 100644 --- a/app/_locales/nl/messages.json +++ b/app/_locales/nl/messages.json @@ -134,7 +134,7 @@ "message": "Voer wachtwoord in" }, "etherscanView": { - "message": "Bekijk account op Etherscan" + "message": "Bekijk account op Confluxscan" }, "exportPrivateKey": { "message": "Exporteer privésleutel" diff --git a/app/_locales/no/messages.json b/app/_locales/no/messages.json index 84a4c2f18cdc..3cdb4d5927ef 100644 --- a/app/_locales/no/messages.json +++ b/app/_locales/no/messages.json @@ -393,7 +393,7 @@ "message": "Hvis du trenger å sikkerhetskopiere seed-frasen din igjen kan du finne den i Innstillinger -> Sikkerhet." }, "endOfFlowMessage7": { - "message": "Hvis du noen gang har spørsmål eller ser noe mistenksomt, send e-post til support@metamask.io" + "message": "Hvis du noen gang har spørsmål eller ser noe mistenksomt, send e-post til portal@conflux-chain.org" }, "endOfFlowMessage8": { "message": "MetaMask klarer ikke å gjenopprette den mnemoniske gjenopprettingsfrasen din. Finn ut mer. " @@ -423,7 +423,7 @@ "message": "Ethereum offentlig adresse" }, "etherscanView": { - "message": "Vis konto på Etherscan " + "message": "Vis konto på Confluxscan " }, "estimatedProcessingTimes": { "message": "Anslått behandlingstid" @@ -740,7 +740,7 @@ "message": "Vær forsiktig med den mnemoniske gjenopprettingsfrasen din - det rapporteres om nettsteder som prøver å etterligne MetaMask. MetaMask vil aldri be om den mnemoniske gjenopprettingsfrasen din!" }, "protectYourKeysMessage2": { - "message": "Oppbevar setningen din trygt. Hvis du ser noe mistenksomt, eller du er usikker på et nettsted, kan du sende en e-post til support@metamask.io" + "message": "Oppbevar setningen din trygt. Hvis du ser noe mistenksomt, eller du er usikker på et nettsted, kan du sende en e-post til portal@conflux-chain.org" }, "rpcUrl": { "message": "NY RPC-URL " @@ -856,7 +856,7 @@ "message": "Mottakeradresse" }, "recipientAddressPlaceholder": { - "message": "Søk, offentlig adresse (0x) eller ENS" + "message": "Søk, offentlig adresse (0x)" }, "rejectAll": { "message": "Avvis alle" @@ -1284,7 +1284,7 @@ "message": "Vis ved $1 " }, "viewOnEtherscan": { - "message": "Vis på Etherscan " + "message": "Vis på Confluxscan " }, "visitWebSite": { "message": "Besøk nettsiden vår " diff --git a/app/_locales/ph/messages.json b/app/_locales/ph/messages.json index 85ba6639ddba..97c6ae596365 100644 --- a/app/_locales/ph/messages.json +++ b/app/_locales/ph/messages.json @@ -110,7 +110,7 @@ "message": "I-enter ang password" }, "etherscanView": { - "message": "Tingnan ang account sa Etherscan" + "message": "Tingnan ang account sa Confluxscan" }, "exportPrivateKey": { "message": "I-export ang Private Key" diff --git a/app/_locales/pl/messages.json b/app/_locales/pl/messages.json index 9c037eddbabe..81bc47052ac5 100644 --- a/app/_locales/pl/messages.json +++ b/app/_locales/pl/messages.json @@ -393,7 +393,7 @@ "message": "Jeśli zajdzie konieczność ponownego wykonania kopii zapasowej frazy seed, znajdziesz ją w Ustawieniach -> Zabezpieczenia." }, "endOfFlowMessage7": { - "message": "Jeśli masz jakieś pytania lub zauważysz coś podejrzanego, wyślij e-mail na adres support@metamask.io." + "message": "Jeśli masz jakieś pytania lub zauważysz coś podejrzanego, wyślij e-mail na adres portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask nie może odzyskać Twojej frazy seed. Dowiedz się więcej." @@ -423,7 +423,7 @@ "message": "Adres publiczny Ethereum" }, "etherscanView": { - "message": "Zobacz konto na Etherscan" + "message": "Zobacz konto na Confluxscan" }, "estimatedProcessingTimes": { "message": "Szacunkowy czas przetwarzania" @@ -741,7 +741,7 @@ "message": "Traktuj swoją frazę seed z ostrożnością – zgłaszano nam przypadki stron internetowych, które podają się za MetaMask. MetaMask nigdy nie poprosi Cię o podanie frazy seed!" }, "protectYourKeysMessage2": { - "message": "Przechowuj frazę z zachowaniem zasad bezpieczeństwa. Jeśli zauważysz coś podejrzanego lub nie masz pewności co do strony internetowej, wyślij e-mail na adres support@metamask.io" + "message": "Przechowuj frazę z zachowaniem zasad bezpieczeństwa. Jeśli zauważysz coś podejrzanego lub nie masz pewności co do strony internetowej, wyślij e-mail na adres portal@conflux-chain.org" }, "rpcUrl": { "message": "Nowy adres URL RPC" @@ -857,7 +857,7 @@ "message": "Adres odbiorcy" }, "recipientAddressPlaceholder": { - "message": "Szukaj, adres publiczny (0x) lub ENS" + "message": "Szukaj, adres publiczny (0x)" }, "rejectAll": { "message": "Odrzuć wszystkie" @@ -1297,7 +1297,7 @@ "message": "Wyświetl w $1" }, "viewOnEtherscan": { - "message": "Zobacz na Etherscan" + "message": "Zobacz na Confluxscan" }, "visitWebSite": { "message": "Odwiedź naszą stronę" diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json index 189225fc4a37..3f8a6b1a8cba 100644 --- a/app/_locales/pt/messages.json +++ b/app/_locales/pt/messages.json @@ -140,7 +140,7 @@ "message": "Introduza palavra-passe" }, "etherscanView": { - "message": "Ver conta no Etherscan" + "message": "Ver conta no Confluxscan" }, "exportPrivateKey": { "message": "Exportar Chave Privada" diff --git a/app/_locales/pt_BR/messages.json b/app/_locales/pt_BR/messages.json index 367d52564580..229f7c1123ea 100644 --- a/app/_locales/pt_BR/messages.json +++ b/app/_locales/pt_BR/messages.json @@ -390,7 +390,7 @@ "message": "Se precisar fazer backup de sua frase-semente de novo, acesse Configurações -> Segurança." }, "endOfFlowMessage7": { - "message": "Caso você tenha alguma dúvida ou veja algo suspeito, envie um e-mail para support@metamask.io." + "message": "Caso você tenha alguma dúvida ou veja algo suspeito, envie um e-mail para portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "O MetaMask não pode recuperar sua frase semente. Saiba mais." @@ -420,7 +420,7 @@ "message": "Endereço Público do Ethereum" }, "etherscanView": { - "message": "Ver conta no Etherscan" + "message": "Ver conta no Confluxscan" }, "estimatedProcessingTimes": { "message": "Tempos de Processamento Estimados" @@ -735,7 +735,7 @@ "message": "Tome cuidado com sua frase semente — houve relatos de sites que tentam imitar o MetaMask. O MetaMask nunca pedirá sua frase semente!" }, "protectYourKeysMessage2": { - "message": "Mantenha a sua frase segura. Se você vir algo esquisito ou está inseguro quanto a um site, envie um e-mail para support@metamask.io" + "message": "Mantenha a sua frase segura. Se você vir algo esquisito ou está inseguro quanto a um site, envie um e-mail para portal@conflux-chain.org" }, "rpcUrl": { "message": "Nova URL RPC" @@ -851,7 +851,7 @@ "message": "Endereço do Destinatário" }, "recipientAddressPlaceholder": { - "message": "Buscar, endereço público (0x) ou ENS" + "message": "Buscar, endereço público (0x)" }, "rejectAll": { "message": "Recusar tudo" @@ -1291,7 +1291,7 @@ "message": "Ver em $1" }, "viewOnEtherscan": { - "message": "Ver no Etherscan" + "message": "Ver no Confluxscan" }, "visitWebSite": { "message": "Visite nosso site" diff --git a/app/_locales/ro/messages.json b/app/_locales/ro/messages.json index 308ad5c74515..a09644524ad8 100644 --- a/app/_locales/ro/messages.json +++ b/app/_locales/ro/messages.json @@ -396,7 +396,7 @@ "message": "Dacă trebuie să vă salvați din nou fraza seed, puteți să o găsiți în Setări -> Securitate." }, "endOfFlowMessage7": { - "message": "Dacă aveți întrebări sau vedeți ceva suspect, trimiteți un e-mail la support@metamask.io." + "message": "Dacă aveți întrebări sau vedeți ceva suspect, trimiteți un e-mail la portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask nu vă poate recupera expresia sursă. Aflați mai multe." @@ -426,7 +426,7 @@ "message": "Adresa publică Ethereum" }, "etherscanView": { - "message": "Vizualizare cont pe Etherscan" + "message": "Vizualizare cont pe Confluxscan" }, "estimatedProcessingTimes": { "message": "Timpi estimativi de procesare" @@ -737,7 +737,7 @@ "message": "Aveți grijă cu expresia dvs. sursă – au existat raportări despre site-uri web care încearcă să imite MetaMask. MetaMask nu vă va cere niciodată expresia sursă!" }, "protectYourKeysMessage2": { - "message": "Aveți grijă de fraza dvs. Dacă vedeți ceva care este în neregulă sau aveți dubii cu privire la un site, trimiteți un mesaj la support@metamask.io" + "message": "Aveți grijă de fraza dvs. Dacă vedeți ceva care este în neregulă sau aveți dubii cu privire la un site, trimiteți un mesaj la portal@conflux-chain.org" }, "rpcUrl": { "message": "URL RPC nou" @@ -853,7 +853,7 @@ "message": "Adresă destinatar" }, "recipientAddressPlaceholder": { - "message": "Căutare, adresa publică (0x) sau ENS" + "message": "Căutare, adresa publică (0x)" }, "rejectAll": { "message": "Respingere toate" @@ -1293,7 +1293,7 @@ "message": "Vizualizați la $1" }, "viewOnEtherscan": { - "message": "Vizualizați pe Etherscan" + "message": "Vizualizați pe Confluxscan" }, "visitWebSite": { "message": "Accesați site-ul nostru" diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json index 09313c81d149..49aa29b59a07 100644 --- a/app/_locales/ru/messages.json +++ b/app/_locales/ru/messages.json @@ -170,7 +170,7 @@ "message": "Введите пароль" }, "etherscanView": { - "message": "Просмотреть счет на Etherscan" + "message": "Просмотреть счет на Confluxscan" }, "exportPrivateKey": { "message": "Экспортировать закрытый ключ" @@ -756,7 +756,7 @@ "message": "Если вам нужно снова создать резервную копию исходной фразы, вы можете найти ее в «Настройки» -> «Безопасность»." }, "endOfFlowMessage7": { - "message": "Если у вас есть вопросы или вы видите что-то подозрительное, пишите на support@metamask.io." + "message": "Если у вас есть вопросы или вы видите что-то подозрительное, пишите на portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask не может восстановить вашу начальную фразу. Узнать больше." @@ -945,7 +945,7 @@ "message": "Будьте осторожны с исходной фразой - были сообщения о сайтах, которые пытаются подражать MetaMask. MetaMask никогда не запрашивает секретную фразу (сид)!" }, "protectYourKeysMessage2": { - "message": "Держите вашу фразу в безопасности. Если вы видите что-то подозрительное или сомневаетесь в веб-сайте, напишите support@metamask.io" + "message": "Держите вашу фразу в безопасности. Если вы видите что-то подозрительное или сомневаетесь в веб-сайте, напишите portal@conflux-chain.org" }, "rpcUrl": { "message": "Новый RPC URL" @@ -1023,7 +1023,7 @@ "message": "Недавние" }, "recipientAddressPlaceholder": { - "message": "Поиск, публичный адрес (0x)или ENS" + "message": "Поиск, публичный адрес (0x)" }, "rejectAll": { "message": "Отклонить все" @@ -1333,7 +1333,7 @@ "message": "Посмотреть на $1" }, "viewOnEtherscan": { - "message": "Посмотреть на Etherscan" + "message": "Посмотреть на Confluxscan" }, "welcomeBack": { "message": "Рад видеть вас снова!" diff --git a/app/_locales/sk/messages.json b/app/_locales/sk/messages.json index 6e1e747b6e98..ce0eecd5865e 100644 --- a/app/_locales/sk/messages.json +++ b/app/_locales/sk/messages.json @@ -387,7 +387,7 @@ "message": "Ak potrebujete backup frázu znova zálohovať, nájdete ju v časti Nastavenia -> Zabezpečenie." }, "endOfFlowMessage7": { - "message": "Ak budete mať nejaké otázky alebo niečo zaujímavé, pošlite email na support@metamask.io." + "message": "Ak budete mať nejaké otázky alebo niečo zaujímavé, pošlite email na portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask nemôže obnoviť vašu seed frázu. Zistiť viac." @@ -417,7 +417,7 @@ "message": "Verejná adresa Ethereum" }, "etherscanView": { - "message": "Prohlédněte si účet na Etherscan" + "message": "Prohlédněte si účet na Confluxscan" }, "estimatedProcessingTimes": { "message": "Odhadovaný čas spracovania" @@ -716,7 +716,7 @@ "message": "Pri seed fráze buďte opatrní – vyskytli sa správy o webových stránkach, ktoré sa snažia napodobniť MetaMask. MetaMask nikdy nebude žiadať vašu seed frázu!" }, "protectYourKeysMessage2": { - "message": "Držte svoju frázu v bezpečí. Ak zbadáte niečo podozrivé alebo si nie ste istí webom, pošlite email na adresu support@metamask.io" + "message": "Držte svoju frázu v bezpečí. Ak zbadáte niečo podozrivé alebo si nie ste istí webom, pošlite email na adresu portal@conflux-chain.org" }, "rpcUrl": { "message": "Nová RPC URL" @@ -832,7 +832,7 @@ "message": "Adresa příjemce" }, "recipientAddressPlaceholder": { - "message": "Vyhľadávať verejnú adresu (0x) alebo ENS" + "message": "Vyhľadávať verejnú adresu (0x)" }, "rejectAll": { "message": "Odmietnuť všetko" @@ -1266,7 +1266,7 @@ "message": "Zobraziť na $1" }, "viewOnEtherscan": { - "message": "Zobraziť na Etherscan" + "message": "Zobraziť na Confluxscan" }, "visitWebSite": { "message": "Navštivte naši stránku" diff --git a/app/_locales/sl/messages.json b/app/_locales/sl/messages.json index ed1c3f71c9c9..7c83572ba41a 100644 --- a/app/_locales/sl/messages.json +++ b/app/_locales/sl/messages.json @@ -396,7 +396,7 @@ "message": "Če morate ponovno varnostno kopirati vaše geslo seed phrase, ga najdete v Nastavitve -> Varnost." }, "endOfFlowMessage7": { - "message": "Če imate kakršna koli vprašanja ali opazite kaj sumljivega, nam pišite na support@metamask.io." + "message": "Če imate kakršna koli vprašanja ali opazite kaj sumljivega, nam pišite na portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask ne more obnoviti vašega gesla seed phrase. Več informacij." @@ -426,7 +426,7 @@ "message": "Javni naslov Ethereum" }, "etherscanView": { - "message": "Poglej račun na Etherscan" + "message": "Poglej račun na Confluxscan" }, "estimatedProcessingTimes": { "message": "Predviden čas obdelave" @@ -735,7 +735,7 @@ "message": "Bodite previdni in svoj seed phrase skrbno varujte - obstajajo poročila o spletnih mestih, ki poskušajo posnemati MetaMask. MetaMask nikoli ne bo zahteval vašega gesla seed phrase!" }, "protectYourKeysMessage2": { - "message": "Hranite svoj seed phrase. Če opazite sumljivo delovanje ali niste prepričani ali je določeno spletno mesto varno, nam pišite na support@metamask.io" + "message": "Hranite svoj seed phrase. Če opazite sumljivo delovanje ali niste prepričani ali je določeno spletno mesto varno, nam pišite na portal@conflux-chain.org" }, "rpcUrl": { "message": "Nov URL RPC" @@ -851,7 +851,7 @@ "message": "Prejemnikov naslov" }, "recipientAddressPlaceholder": { - "message": "Iskanje, javni naslov (0x) ali ENS" + "message": "Iskanje, javni naslov (0x)" }, "rejectAll": { "message": "Zavrni vse" @@ -1294,7 +1294,7 @@ "message": "Ogled na $1 " }, "viewOnEtherscan": { - "message": "Poglej na Etherscan" + "message": "Poglej na Confluxscan" }, "visitWebSite": { "message": "Obiščite našo spletno stran" diff --git a/app/_locales/sr/messages.json b/app/_locales/sr/messages.json index afc28ec93e53..e60d06c4d928 100644 --- a/app/_locales/sr/messages.json +++ b/app/_locales/sr/messages.json @@ -393,7 +393,7 @@ "message": "Ako treba ponovo da izradite rezervnu kopiju svoje početne fraze, možete je pronaći u Postavke -> Bezbednost." }, "endOfFlowMessage7": { - "message": "Ako imate bilo kakvih pitanja ili primetite nešto sumnjivo, pošaljite e-poruku na support@metamask.io." + "message": "Ako imate bilo kakvih pitanja ili primetite nešto sumnjivo, pošaljite e-poruku na portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask ne može da oporavi vašu početnu frazu. Saznajte više." @@ -423,7 +423,7 @@ "message": "Ethereum javna adresa" }, "etherscanView": { - "message": "Pogledajte račun na Etherscan-u" + "message": "Pogledajte račun na Confluxscan-u" }, "estimatedProcessingTimes": { "message": "Procenjeno vreme za obradu" @@ -857,7 +857,7 @@ "message": "Adresa primaoca" }, "recipientAddressPlaceholder": { - "message": "Pretraga, javna adresa (0x) ili ENS" + "message": "Pretraga, javna adresa (0x)" }, "rejectAll": { "message": "Odbacite sve" @@ -1297,7 +1297,7 @@ "message": "Pogledaj na $1" }, "viewOnEtherscan": { - "message": "Pogledaj na Etherscan-u" + "message": "Pogledaj na Confluxscan-u" }, "visitWebSite": { "message": "Posetite našu veb lokaciju" diff --git a/app/_locales/sv/messages.json b/app/_locales/sv/messages.json index 290f114969bc..38a02f0e2a4a 100644 --- a/app/_locales/sv/messages.json +++ b/app/_locales/sv/messages.json @@ -390,7 +390,7 @@ "message": "Om du behöver säkerhetskopiera din nyckelfras igen, kan du hitta den i Inställningar -> Säkerhet" }, "endOfFlowMessage7": { - "message": "Om du har frågor eller ser något misstänksamt, skicka ett e-postmeddelande till support@metamask.io." + "message": "Om du har frågor eller ser något misstänksamt, skicka ett e-postmeddelande till portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask kan inte återställa din seedphrase. Läs mer." @@ -420,7 +420,7 @@ "message": "Ethereum offentlig adress" }, "etherscanView": { - "message": "Visa konto på Etherscan" + "message": "Visa konto på Confluxscan" }, "estimatedProcessingTimes": { "message": "Uppskattade behandlingstider" @@ -734,7 +734,7 @@ "message": "Var försiktig med din seedfras — det har rapporterats om hemsidor som försöker imitera MetaMask. MetaMask kommer aldrig fråga efter din seedfras!" }, "protectYourKeysMessage2": { - "message": "Håll din fras i säkert förvar. Om du ser något misstänksamt eller om du är osäker på en hemsida, skicka ett e-postmeddelande till support@metamask.io." + "message": "Håll din fras i säkert förvar. Om du ser något misstänksamt eller om du är osäker på en hemsida, skicka ett e-postmeddelande till portal@conflux-chain.org." }, "rpcUrl": { "message": "Ny RPC-URL" @@ -850,7 +850,7 @@ "message": "Mottagaradress" }, "recipientAddressPlaceholder": { - "message": "Sök, allmän adress (0x) eller ENS" + "message": "Sök, allmän adress (0x)" }, "rejectAll": { "message": "Neka alla" @@ -1287,7 +1287,7 @@ "message": "Visa vid $1" }, "viewOnEtherscan": { - "message": "Visa på Etherscan" + "message": "Visa på Confluxscan" }, "visitWebSite": { "message": "Besök vår hemsida" diff --git a/app/_locales/sw/messages.json b/app/_locales/sw/messages.json index 38cf9883f95b..27f3e2ad9b6b 100644 --- a/app/_locales/sw/messages.json +++ b/app/_locales/sw/messages.json @@ -390,7 +390,7 @@ "message": "Ikiwa unataka kuhifadhi tena kwa njia mbadla kirai chako kianzio, unaweza kukipata kwenye Mipangilio -> Usalama." }, "endOfFlowMessage7": { - "message": "Ikiwa una maswali au umeona kitu ambacho ni cha ulaghai, tuma barua pepe support@metamask.io." + "message": "Ikiwa una maswali au umeona kitu ambacho ni cha ulaghai, tuma barua pepe portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask haiwezi kurejesha kirai chako kianzio. Pata maelezo ziadi." @@ -420,7 +420,7 @@ "message": "Anwani ya Umma ya Ethereum" }, "etherscanView": { - "message": "Tazama akaunti kwenye Etherscan" + "message": "Tazama akaunti kwenye Confluxscan" }, "estimatedProcessingTimes": { "message": "Muda wa Kuchakata Uliokadiriwa" @@ -728,7 +728,7 @@ "message": "Kuwa mwangalifu na kirai kianzio chako - kumekuwa na taarifa za tovuti ambazo zinajaribu kuiga MetaMask. MetaMask kamwe haitakuomba kirai kianzio chako!" }, "protectYourKeysMessage2": { - "message": "Weka salama kirai kianzio chako. Ikiwa unaona kitu cha kilaghai, au huna uhakika na tovuti fulani, tuma barua pepe kwenda support@metamask.io" + "message": "Weka salama kirai kianzio chako. Ikiwa unaona kitu cha kilaghai, au huna uhakika na tovuti fulani, tuma barua pepe kwenda portal@conflux-chain.org" }, "rpcUrl": { "message": "RPC URL mpya" @@ -844,7 +844,7 @@ "message": "Anwani ya Mpokeaji" }, "recipientAddressPlaceholder": { - "message": "Tafuta, anwani za umma (0x), au ENS" + "message": "Tafuta, anwani za umma (0x)" }, "rejectAll": { "message": "Kataa Zote" @@ -1290,7 +1290,7 @@ "message": "Tazama kwenye $1" }, "viewOnEtherscan": { - "message": "Tazama kwenye Etherscan" + "message": "Tazama kwenye Confluxscan" }, "visitWebSite": { "message": "Tembelea Tovuti yetu" diff --git a/app/_locales/ta/messages.json b/app/_locales/ta/messages.json index 75ef08a57e25..a0b881d095c6 100644 --- a/app/_locales/ta/messages.json +++ b/app/_locales/ta/messages.json @@ -161,7 +161,7 @@ "message": "கடவுச்சொற்கள் பொருந்தாதே" }, "etherscanView": { - "message": "Etherscan கணக்கைப் பார்க்கவும்" + "message": "Confluxscan கணக்கைப் பார்க்கவும்" }, "exportPrivateKey": { "message": "தனியார் விசை ஐ ஏற்றுமதி செய்க" diff --git a/app/_locales/th/messages.json b/app/_locales/th/messages.json index 61bc3e5f761c..988c924a708a 100644 --- a/app/_locales/th/messages.json +++ b/app/_locales/th/messages.json @@ -206,7 +206,7 @@ "message": "ใส่รหัสผ่าน" }, "etherscanView": { - "message": "ดูบัญชีบน Etherscan" + "message": "ดูบัญชีบน Confluxscan" }, "expandView": { "message": "ขยายมุมมอง" diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json index 6aac9538735f..d63ed34d476c 100644 --- a/app/_locales/tr/messages.json +++ b/app/_locales/tr/messages.json @@ -167,7 +167,7 @@ "message": "Parolanızı girin" }, "etherscanView": { - "message": "Hesabı Etherscan üzerinde izle" + "message": "Hesabı Confluxscan üzerinde izle" }, "exportPrivateKey": { "message": "Özel anahtarı ver" diff --git a/app/_locales/uk/messages.json b/app/_locales/uk/messages.json index ea06fb6d4260..ddeb5b7808ac 100644 --- a/app/_locales/uk/messages.json +++ b/app/_locales/uk/messages.json @@ -396,7 +396,7 @@ "message": "Якщо вам потрібно знову зробити резервну копію вашої початкової фрази, ви можете знайти її у Налаштування -> Безпека." }, "endOfFlowMessage7": { - "message": "Якщо у вас коли-небудь виникатимуть питання або ви побачите щось фішингове, пишіть на support@metamask.io." + "message": "Якщо у вас коли-небудь виникатимуть питання або ви побачите щось фішингове, пишіть на portal@conflux-chain.org." }, "endOfFlowMessage8": { "message": "MetaMask не вдалося відновити вашу мнемонічну фразу. Докладніше." @@ -426,7 +426,7 @@ "message": "Публічна адреса Ethereum" }, "etherscanView": { - "message": "Переглянути обліковий запис на Etherscan" + "message": "Переглянути обліковий запис на Confluxscan" }, "estimatedProcessingTimes": { "message": "Приблизні часи обробки" @@ -750,7 +750,7 @@ "message": "Будьте обережними з вашою початковою фразою - надходила інформація про сайти, які намагались імітувати MetaMask. MetaMask ніколи не запитує вашої початкової фрази!" }, "protectYourKeysMessage2": { - "message": "Тримайте свою фразу у безпеці. Якщо ви бачите щось фішингове або ви не впевнені щодо сайту, напишіть нам на support@metamask.io" + "message": "Тримайте свою фразу у безпеці. Якщо ви бачите щось фішингове або ви не впевнені щодо сайту, напишіть нам на portal@conflux-chain.org" }, "rpcUrl": { "message": "Новий RPC URL" @@ -866,7 +866,7 @@ "message": "Адреса отримувача" }, "recipientAddressPlaceholder": { - "message": "Пошук, публічна адреса (0x), або ENS" + "message": "Пошук, публічна адреса (0x)" }, "rejectAll": { "message": "Відхилити все" @@ -1312,7 +1312,7 @@ "message": "Дивитись на $1" }, "viewOnEtherscan": { - "message": "Дивитись на Etherscan" + "message": "Дивитись на Confluxscan" }, "visitWebSite": { "message": "Відвідайте наш веб-сайт" diff --git a/app/_locales/vi/messages.json b/app/_locales/vi/messages.json index a2e9d7c60ee3..0d26d1d8ee77 100644 --- a/app/_locales/vi/messages.json +++ b/app/_locales/vi/messages.json @@ -116,7 +116,7 @@ "message": "Nhập mật khẩu" }, "etherscanView": { - "message": "Xem tài khoản trên Etherscan" + "message": "Xem tài khoản trên Confluxscan" }, "exportPrivateKey": { "message": "Xuất mã khóa cá nhân" diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json index 72d7b1d5d7fc..00de52e1202b 100644 --- a/app/_locales/zh_CN/messages.json +++ b/app/_locales/zh_CN/messages.json @@ -75,17 +75,17 @@ "message": "添加推荐代币" }, "addAcquiredTokens": { - "message": "在ConfluxPortal上添加已用的代币" + "message": "在Conflux Portal上添加已用的代币" }, "amount": { "message": "数量" }, "appDescription": { - "message": "ConfluxPortal 浏览器插件", + "message": "Conflux Portal 浏览器插件", "description": "The description of the application" }, "appName": { - "message": "ConfluxPortal", + "message": "Conflux Portal", "description": "The name of the application" }, "approve": { @@ -113,7 +113,7 @@ "message": "自动注销计时器(分钟)" }, "autoLockTimeLimitDescription": { - "message": "请设置 ConfluxPortal 自动注销前的空闲时间(以分钟为单位)" + "message": "请设置 Conflux Portal 自动注销前的空闲时间(以分钟为单位)" }, "average": { "message": "平均值" @@ -162,7 +162,7 @@ "message": "使用 Wyre 购买 CFX (Conflux 版本的 MetaMask 目前不支持该功能)" }, "buyWithWyreDescription": { - "message": "您可以通过 Wyre 使用信用卡将 CFX 存入您的 ConfluxPortal 账户。(Conflux 版本的 MetaMask 目前不支持该功能)" + "message": "您可以通过 Wyre 使用信用卡将 CFX 存入您的 Conflux Portal 账户。(Conflux 版本的 MetaMask 目前不支持该功能)" }, "buyCoinSwitch": { "message": "在CoinSwitch上购买 (Conflux 版本的 MetaMask 目前不支持该功能)" @@ -210,7 +210,7 @@ "message": "关闭" }, "chromeRequiredForHardwareWallets": { - "message": "您需要通过 Google Chrome 浏览器使用 ConfluxPortal ,连接个人硬件钱包。(硬件钱包没有经过充分测试, 使用中可能会遇到问题)" + "message": "您需要通过 Google Chrome 浏览器使用 Conflux Portal ,连接个人硬件钱包。(硬件钱包没有经过充分测试, 使用中可能会遇到问题)" }, "confirm": { "message": "确认" @@ -390,16 +390,16 @@ "message": "绝不向任何分享该密语。" }, "endOfFlowMessage5": { - "message": "谨防网络钓鱼!ConfluxPortal 绝不会主动要求您提供个人种子密语。" + "message": "谨防网络钓鱼!Conflux Portal 绝不会主动要求您提供个人种子密语。" }, "endOfFlowMessage6": { "message": "如果您需要再次备份个人种子密语,请通过设置 -> 安全选项完成该操作。" }, "endOfFlowMessage7": { - "message": "如果您仍存有疑问或发现任何可疑的地方,请发送电子邮件至 conflux-portal@conflux-chain.org 进行咨询。" + "message": "如果您仍存有疑问或发现任何可疑的地方,请发送电子邮件至 portal@conflux-chain.org 进行咨询。" }, "endOfFlowMessage8": { - "message": "ConfluxPortal 无法恢复您的种子密语。了解更多。" + "message": "Conflux Portal 无法恢复您的种子密语。了解更多。" }, "endOfFlowMessage9": { "message": "了解详情。" @@ -516,7 +516,7 @@ "message": "连接硬件钱包 (该功能尚未测试, 使用中可能会出现问题)" }, "hardwareWalletsMsg": { - "message": "请选择希望用于 ConfluxPortal 的硬件钱包 (该功能尚未测试, 使用中可能会出现问题)" + "message": "请选择希望用于 Conflux Portal 的硬件钱包 (该功能尚未测试, 使用中可能会出现问题)" }, "havingTroubleConnecting": { "message": "连接出现问题?" @@ -658,10 +658,10 @@ "message": "消息" }, "metamaskDescription": { - "message": "ConfluxPortal is a secure identity vault for Conflux." + "message": "Conflux Portal is a secure identity vault for Conflux." }, "metamaskVersion": { - "message": "ConfluxPortal 版本" + "message": "Conflux Portal 版本" }, "missingYourTokens": { "message": "无法看到您的代币?" @@ -673,13 +673,13 @@ "message": "我的钱包账户" }, "myWalletAccountsDescription": { - "message": "所有已创建的 ConfluxPortal 账户将自动添加到该部分。" + "message": "所有已创建的 Conflux Portal 账户将自动添加到该部分。" }, "mustSelectOne": { "message": "至少选择一种代币." }, "needEtherInWallet": { - "message": "使用 ConfluxPortal 与 DAPP 交互,需要你的钱包里有 CFX。" + "message": "使用 Conflux Portal 与 DAPP 交互,需要你的钱包里有 CFX。" }, "needImportFile": { "message": "必须选择导入一个文件。", @@ -720,7 +720,7 @@ "message": "新增网络" }, "newToMetaMask": { - "message": "新增至 ConfluxPortal?" + "message": "新增至 Conflux Portal?" }, "noAlreadyHaveSeed": { "message": "不,我已经有一个种子密语了。" @@ -729,10 +729,10 @@ "message": "妥善保管您的密钥!" }, "protectYourKeysMessage1": { - "message": "请注意个人种子密语安全。报告显示有多个网站企图伪造 ConfluxPortal。ConfluxPortal 绝不会要求您提供个人种子密语!" + "message": "请注意个人种子密语安全。报告显示有多个网站企图伪造 Conflux Portal。Conflux Portal 绝不会要求您提供个人种子密语!" }, "protectYourKeysMessage2": { - "message": "请妥善保管您的密语。如果您发现任何可疑的地方,或无法确认网络安全性,请发送电子邮件至 conflux-portal@conflux-chain.org 进行咨询" + "message": "请妥善保管您的密语。如果您发现任何可疑的地方,或无法确认网络安全性,请发送电子邮件至 portal@conflux-chain.org 进行咨询" }, "rpcUrl": { "message": "新增 RPC URL" @@ -789,7 +789,7 @@ "message": "加入 MetaMetrics (Conflux 版本的 MetaMask 目前不支持该功能)" }, "participateInMetaMetricsDescription": { - "message": "加入 MetaMetrics ,帮助我们改善 ConfluxPortal 服务 (Conflux 版本的 MetaMask 目前不支持该功能)" + "message": "加入 MetaMetrics ,帮助我们改善 Conflux Portal 服务 (Conflux 版本的 MetaMask 目前不支持该功能)" }, "password": { "message": "密码" @@ -848,7 +848,7 @@ "message": "接收地址" }, "recipientAddressPlaceholder": { - "message": "查找、公用地址 (0x) 或 ENS" + "message": "查找、公用地址 (0x)" }, "rejectAll": { "message": "拒绝所有" @@ -1019,7 +1019,7 @@ "message": "选择账户" }, "selectAnAccountHelp": { - "message": "请通过 ConfluxPortal 选择需要查看的账户" + "message": "请通过 Conflux Portal 选择需要查看的账户" }, "selectAHigherGasFee": { "message": "请选择价格稍高的然气费,加快交易处理速度。*" @@ -1139,16 +1139,16 @@ "message": "您可以使用个人移动设备同步个人账户与信息。打开 ConfluxPortal 移动应用程序,进入“设置”选项,点击“通过浏览器扩展程序同步” (Conflux 版本的 MetaMask 目前不支持该功能)" }, "syncWithMobileDescNewUsers": { - "message": "如果您是首次启用 ConfluxPortal 移动应用程序,请通过个人手机完成如下操作。 (Conflux 版本的 MetaMask 目前不支持该功能)" + "message": "如果您是首次启用 Conflux Portal 移动应用程序,请通过个人手机完成如下操作。 (Conflux 版本的 MetaMask 目前不支持该功能)" }, "syncWithMobileScanThisCode": { - "message": "使用 ConfluxPortal 应用程序扫描编码 (Conflux 版本的 MetaMask 目前不支持该功能)" + "message": "使用 Conflux Portal 应用程序扫描编码 (Conflux 版本的 MetaMask 目前不支持该功能)" }, "syncWithMobileBeCareful": { "message": "扫描编码时,请确保身边无其他人正在查看您的显示页面 (Conflux 版本的 MetaMask 目前不支持该功能)" }, "syncWithMobileComplete": { - "message": "您的数据已同步成功。尽情体验 ConfluxPortal 应用程序!(Conflux 版本的 MetaMask 目前不支持该功能)" + "message": "您的数据已同步成功。尽情体验 Conflux Portal 应用程序!(Conflux 版本的 MetaMask 目前不支持该功能)" }, "terms": { "message": "使用条款" diff --git a/app/_locales/zh_TW/messages.json b/app/_locales/zh_TW/messages.json index c1435ebf3dfc..79576604a0ef 100644 --- a/app/_locales/zh_TW/messages.json +++ b/app/_locales/zh_TW/messages.json @@ -75,7 +75,7 @@ "message": "加入建議的代幣" }, "addAcquiredTokens": { - "message": "將您已經擁有的代幣顯示於 ConfluxPortal" + "message": "將您已經擁有的代幣顯示於 Conflux Portal" }, "amount": { "message": "數量" @@ -85,7 +85,7 @@ "description": "The description of the application" }, "appName": { - "message": "ConfluxPortal", + "message": "Conflux Portal", "description": "The name of the application" }, "approve": { @@ -113,7 +113,7 @@ "message": "自動登出計時器(分)" }, "autoLockTimeLimitDescription": { - "message": "設定閒置分鐘上限,時間到時 ConfluxPortal 將自動登出" + "message": "設定閒置分鐘上限,時間到時 Conflux Portal 將自動登出" }, "average": { "message": "平均" @@ -128,7 +128,7 @@ "message": "備份你的秘密還原代碼,安全防護錢包與資金。" }, "backupApprovalInfo": { - "message": "在裝置遺失、忘記密碼、需要重新安裝 ConfluxPortal、或是想在另一裝置開啟錢包的情形下,你需要此秘密代碼來復原錢包。" + "message": "在裝置遺失、忘記密碼、需要重新安裝 Conflux Portal、或是想在另一裝置開啟錢包的情形下,你需要此秘密代碼來復原錢包。" }, "backupNow": { "message": "現在備份" @@ -162,7 +162,7 @@ "message": "用 Wyre 購買 CFX (Conflux 版本的 MetaMask 目前不支持該功能)" }, "buyWithWyreDescription": { - "message": "Wyre 讓你使用信用卡在 ConfluxPortal 帳號中直接存入 CFX。(Conflux 版本的 MetaMask 目前不支持該功能)" + "message": "Wyre 讓你使用信用卡在 Conflux Portal 帳號中直接存入 CFX。(Conflux 版本的 MetaMask 目前不支持該功能)" }, "buyCoinSwitch": { "message": "在CoinSwitch上购买 (Conflux 版本的 MetaMask 目前不支持該功能)" @@ -207,7 +207,7 @@ "message": "關閉" }, "chromeRequiredForHardwareWallets": { - "message": "您需要通過 Google Chrome 瀏覽器使用 ConfluxPortal ,連接個人硬件錢包。(硬件錢包沒有經過充分測試, 使用中可能會遇到問題)" + "message": "您需要通過 Google Chrome 瀏覽器使用 Conflux Portal ,連接個人硬件錢包。(硬件錢包沒有經過充分測試, 使用中可能會遇到問題)" }, "confirm": { "message": "確認" @@ -387,16 +387,16 @@ "message": "不要分享此助記祠給任何人" }, "endOfFlowMessage5": { - "message": "小心網路釣魚!ConfluxPortal 永遠不會主動詢問你的助記詞。" + "message": "小心網路釣魚!Conflux Portal 永遠不會主動詢問你的助記詞。" }, "endOfFlowMessage6": { "message": "如你需要再次備份助記詞,可至設定 -> 安全。" }, "endOfFlowMessage7": { - "message": "如你有任何問題或察覺有異,請寄信給 conflux-portal@conflux-chain.org" + "message": "如你有任何問題或察覺有異,請寄信給 portal@conflux-chain.org" }, "endOfFlowMessage8": { - "message": "ConfluxPortal 無法還原你的助記詞。暸解更多" + "message": "Conflux Portal 無法還原你的助記詞。暸解更多" }, "endOfFlowMessage9": { "message": "深入瞭解。" @@ -519,7 +519,7 @@ "message": "連線硬體錢包 (該功能尚未測試, 使用中可能會出現問題)" }, "hardwareWalletsMsg": { - "message": "選擇要連線到 ConfluxPortal 的硬體錢包 (該功能尚未測試, 使用中可能會出現問題)" + "message": "選擇要連線到 Conflux Portal 的硬體錢包 (該功能尚未測試, 使用中可能會出現問題)" }, "havingTroubleConnecting": { "message": "無法正確連線? (該功能尚未測試, 使用中可能會出現問題)" @@ -551,7 +551,7 @@ "message": "匯入帳戶" }, "importAccountMsg": { - "message": " 匯入的帳戶與您原有 ConfluxPortal 帳戶的助憶詞並無關聯。請查看與匯入帳戶相關的資料 " + "message": " 匯入的帳戶與您原有 Conflux Portal 帳戶的助憶詞並無關聯。請查看與匯入帳戶相關的資料 " }, "importAccountSeedPhrase": { "message": "利用助憶詞還原" @@ -664,10 +664,10 @@ "message": "訊息" }, "metamaskDescription": { - "message": "ConfluxPortal 是 Conflux 安全身份識別金庫" + "message": "Conflux Portal 是 Conflux 安全身份識別金庫" }, "metamaskVersion": { - "message": "ConfluxPortal 版本" + "message": "Conflux Portal 版本" }, "missingYourTokens": { "message": "看不到您的代幣?" @@ -682,13 +682,13 @@ "message": "我的錢包帳號" }, "myWalletAccountsDescription": { - "message": "所有你在 ConfluxPortal 創建的帳號將自動新增到此區塊。" + "message": "所有你在 Conflux Portal 創建的帳號將自動新增到此區塊。" }, "mustSelectOne": { "message": "必須選擇至少 1 代幣" }, "needEtherInWallet": { - "message": "要使用 ConfluxPortal 存取去中心化應用服務時,您的錢包中需要有CFX。" + "message": "要使用 Conflux Portal 存取去中心化應用服務時,您的錢包中需要有CFX。" }, "needImportFile": { "message": "您必須選擇一個檔案來匯入", @@ -732,7 +732,7 @@ "message": "新增網路" }, "newToMetaMask": { - "message": "新來到 ConfluxPortal?" + "message": "新來到 Conflux Portal?" }, "noAlreadyHaveSeed": { "message": "不,我已經有助記詞" @@ -741,10 +741,10 @@ "message": "保護你的鑰匙!" }, "protectYourKeysMessage1": { - "message": "小心保管你的註記詞—我們接到報告有網站嘗試模仿 ConfluxPortal。ConfluxPortal 永遠不會詢問你的助記詞!" + "message": "小心保管你的註記詞—我們接到報告有網站嘗試模仿 Conflux Portal。Conflux Portal 永遠不會詢問你的助記詞!" }, "protectYourKeysMessage2": { - "message": "安全存放你的助記詞。如你察覺有異,或你對某網站起疑,請寄信給 conflux-portal@conflux-chain.org" + "message": "安全存放你的助記詞。如你察覺有異,或你對某網站起疑,請寄信給 portal@conflux-chain.org" }, "rpcUrl": { "message": "新的 RPC URL" @@ -798,7 +798,7 @@ "message": "參與 MetaMetrics (Conflux 版本的 MetaMask 目前不支持該功能)" }, "participateInMetaMetricsDescription": { - "message": "參與 MetaMetrics 來協助我們打造更好的 ConfluxPortal (Conflux 版本的 MetaMask 目前不支持該功能)" + "message": "參與 MetaMetrics 來協助我們打造更好的 Conflux Portal (Conflux 版本的 MetaMask 目前不支持該功能)" }, "password": { "message": "密碼" @@ -854,7 +854,7 @@ "message": "接收位址" }, "recipientAddressPlaceholder": { - "message": "搜尋,公開地址 (0x),或 ENS" + "message": "搜尋,公開地址 (0x)" }, "rejectAll": { "message": "全部拒絕" @@ -1133,16 +1133,16 @@ "message": "你可以用移動裝置同步帳號與資訊。開啟 ConfluxPortal 移動 app,至「設定」並點擊「自瀏覽器擴充功能同步」 (Conflux 版本的 MetaMask 目前不支持該功能)" }, "syncWithMobileDescNewUsers": { - "message": "如你是第一次開啟 ConfluxPortal 移動 app,只要跟著手機上的指示操作即可。(Conflux 版本的 MetaMask 目前不支持該功能)" + "message": "如你是第一次開啟 Conflux Portal 移動 app,只要跟著手機上的指示操作即可。(Conflux 版本的 MetaMask 目前不支持該功能)" }, "syncWithMobileScanThisCode": { - "message": "用你的 ConfluxPortal 移動 app 掃描此代碼 (Conflux 版本的 MetaMask 目前不支持該功能)" + "message": "用你的 Conflux Portal 移動 app 掃描此代碼 (Conflux 版本的 MetaMask 目前不支持該功能)" }, "syncWithMobileBeCareful": { "message": "掃描代碼時確保沒有其他人在看你的螢幕 (Conflux 版本的 MetaMask 目前不支持該功能)" }, "syncWithMobileComplete": { - "message": "你的資料已成功同步。開始活用 ConfluxPortal 移動 app!(Conflux 版本的 MetaMask 目前不支持該功能)" + "message": "你的資料已成功同步。開始活用 Conflux Portal 移動 app!(Conflux 版本的 MetaMask 目前不支持該功能)" }, "terms": { "message": "使用條款" @@ -1306,7 +1306,7 @@ "message": "歡迎回來!" }, "welcome": { - "message": "歡迎來到 ConfluxPortal" + "message": "歡迎來到 Conflux Portal" }, "writePhrase": { "message": "將助憶詞寫在紙上,並保存在安全的場所。若想要更安全,將助憶詞分別寫在不同紙張上並存放在不同的地方。" diff --git a/app/images/icon-128.png b/app/images/icon-128.png index 6927cd373500ac0759c4c205182ad98897a7b7ac..2b30e6fceacb4e94900314f3888ba9f2ae42509d 100644 GIT binary patch literal 16014 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 a{{gK)+bjsseMbNQ002ovP6b4+LSTYBVfBOn diff --git a/app/images/icon-16.png b/app/images/icon-16.png index a852907dc84f9a35666dbdac56ef4dad8d9c7998..517296beea31ed5977e0352a465853adaeb2dca9 100644 GIT binary patch delta 700 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 delta 1926 zcmV;12YL9%67dg^fPV*DNkl79 z=yZ@BL&8FkHf=EJnVQsZE?$q-d8P0c91e<&jKKKEr;te}tq>22Y61Npz@5>M0Evyx zF5tT&pxjL5+3|e1*Z25E%s>*ri{2O-?Lid~l4wX?k$5u-#m4AtH zQ!}cWViHHCB6-Y22;t4<25ib&g_<^ty9mro8GnpBlank?i`_jc1-Tzhhnf-}n)DQA zzq=BlgCmiXF&~XJ7d;M(iDF-y&5F(I*5XWMjl`1}9fQytQ*q#o3fq1IzB$~;=%9DH z(d3a~Sn}3n7>$N5Cjhbk;JAB{@y4Ur`uThO^HNNBZVm#1g0OMny$*Fg`&2IHf5roi9dD6Mz^P|*R?AA1<{W{g43 zCkxSJGGoGv^Kq4*4>k})N1I8JIP$dNls;;cSmh5#f ztMpJA2O$5@UVOVLOUiOGhwEF$w0|tpvqw>NZF`J*1t7BJ&QlB{htr!)^~hPBh1w4B zkRj>lv&K;5?cR=qJ98u_lQ-nA$Ps@qJ?~+f7U}x$sD}~7fqg8Br|H2$Pt#ht>zh@75KMUZ1h+@K!2%G&Hr{fjX=fq zYQqhAA^ZI~u(Y*c(yQ;oFR;IxDtSn^LF#ot7&9Zu zqzUlXcP05&;I(b}GRI$hqpqoeYFL_wO^%$QhsQJR7M0+`#TzBizIq)>O3Sb@V;(^) zh2A&FL!x+1u`W4D@_&Ka+QxvC^kq10_Ixxrxj67v*%5y0vuNtWw-|3}-bjFv2ye$z z{pY+R82ik7Fk2l@dfr-0L;@uQ1@{(e8 z&)#ZRqv_<=-0#FnDt>yjOSzDA`)xPjhjsICHA}ZdwBhM<=YO#Ivqk8#bs&VwC-S!3 zl*?@5SFhsBDczn<*jy|OgrYe#VZa9kH98&Fww?~6{Apzs78!bx@*0taGL%19V` z7AUD2){&P5^M9d6ap!yg7uB-TpM^ipbO5-Ey_aMBUw0zi?Pr_*CyQOXEh=;vY5)KL M07*qoM6N<$f~NzvE&u=k diff --git a/app/images/icon-38.png b/app/images/icon-38.png index d51bdba212909a74443bfd44e1b9d9d76325775c..e7e3eb7ca6509573852515195d02022ada8feeb0 100644 GIT binary patch delta 2897 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 diff --git a/app/images/icon-64.png b/app/images/icon-64.png index c2e0e6b2b561c3e05b5fe84efb81d919c7d38381..687a0e81775347b3cfbe8ff0f0ad5fd3f774a49b 100644 GIT binary patch delta 6219 zcmV-R7_{f}Ba|_afPWYMNklhXhdH?QyFLnY1_XS+E*pee#iWO&4x1H2& zUNV!(u6G^r+sM$}9(r>61=B{8IHsXWP6 ziex=Ol4=ksT7PLo6vY(#E=69KLc2*pyG~)J?g#CIuHQO53Olu`-#o0uZRbJkdAkpY z8d!{lL|2HkeSe}9=`>D;I;3buGQ^1eu%UGQ15DX1_wW?+dCkf31OpcHl!+2kqlT3$ z$(h0#S+}MoRWC>qDN*QmDDd_}*ID!0wKdw`*$X5$)N<3KS}Hdy>&Y`pBC#MD>5^im zCKW4P0MRMgNb9PZk|ft+1Mb3{Fv~*!XGOc-8HAf^xNdqDn;2p-UvlZ9}%Wkt? zmh8&zT3s;iB>kj5@(VwFM_bSm(ci_I`VYqNbV(mBW%S%Q5S9sukl(2K&hAP*a@)Uk zAAGj`YGbDVd@q8%aT|B*{czbqvh#_wg+s{sxzYL}HTS zI5H>-3=p0VS_fzR+7{V6pT%BveKU0GpGZ;s>p+PtOV=+dnV}zF)xTi{P%m>;dEdk4LfWdG`#)w{qE*n1si3osS6{?h1XRzGa^eYD9jgH z<$t>&@a=ZiKi+aSm#%g1U;DWi2RFBxbU4^mXut$fLbm4StaR$9iJ4d4GN&$_HAYHO z*lB>1d%`}6iNT0{M}kQh=ES*4#Y|5c<7Ww+C+0lv^9&%~vupki-R?_XEPwVNp8og@ z2{dXdsn8}$6(|loE6j~qYN{|MTUiRa4S%t3(5k_Q*gdAfJxGd95Qd@;&!*!rI4{FF z1f5!_IPLaCvwWvQ)a9)N15C>rmJ-%wb9CXSiMh+;AWrfQx2d!G5&1_u;AX&fDTraU z)`w>(F@Keeu|-l~*D+Ks?n~-%{Gb0fa|KKd`#ua3R=@}?GfMi{S#tN+s0%z>%YWBk zqHVFAVx-_?!L;-+B^R%fIeDJVan{*i|9gLb`?hZGR>^V7JXv_6VxjQ5R+#!p_R^0o zfjAS~lp43*A#DhbwOAskHU+RLEjLD~v)`xW{CCB7c4k7_Eb%90$MC4PU4Q+Mlw_XNOhMADwCvTlTY*!n*4y0`MvgT=l{3Rr zN;?0tF}h&D-XwM)?4?=S%>AH!Nan~C@Ow1RPv;BQpj zB$FK|q%K<-3hV~yW(tDKfJrh1t$i>kCBa-(b>)NeYN|L(bil%oWZ1thCx3Ips+FBo z(gihgyA*Wl1RG;}6U0Yu2VA{OiJ416t%R`uucdw}JDCw2LPLRy4dDa9tKY>3B z3*i(d+=3R2$Y9X8n#hg-96KyYhGiR)W+rf%lB@|o9D5G=^$K;%Hv!zI+~psW4mD$L z!=YduHhyHV@8+fb&qtnpQ-42B!smS+9dQ_n1dBs(<~u(UlJBg303Wt1OoL~$$;zM; zxlLkzzyPEqK^%EL5|IEbi)E+|dvkZcOj>pfs{azHuzmKbJ;M9Mv&z9t_!3e;dKiIm z%rLPTKNFGTNo2)@FZ=`eSTEp%xy*P0AN%lr$9wmq(*QR%1NK$M_fy!g&)CTzY(9T4&`)fS$& zhnSBIAO*HVq`KfT!VpqlXpPAF*k63v!J34eBSiLsgbPXv$A<)n*ePrI$sUe^0SK8OR)0w#IspIF`8R=Ihuqy& z=#dn_Qod^)OSVnK!g#@Io6^9%#)ve=DK@pVD38n&^8=b5&maZ zggMqO4!cOkD1YptXlhic4QFQ{FEK{X2#sR_@ZhXfHWJ8JE>maueX_Sdjhx+O8;RZf zvD^N1uq}rIN-9dAsw9Q&!`GDLP{y1%YgjYi>Dk{vbwNBw1OKQ(_SQY&^R(P386%6x z7bf5@MiDs>ZxM4v)yEDqfC{6!V--eWB%Bb6mBHSRet&{^W*#%n+5SvK9~B;4ADM?1 zO$)nbtz!7BQJn0sa9CRdWUC57Hmg26YLG8376|XlVbDF;XxkgNH&9jn+-~pQYI(g( zP+-&YJUgc&m$N&U(l7nRXrlC5hQnY_T0PrkVE*A2Ia{A1{X8UV_L4}55K@HQ3yv^J zU=(v+Lw^=#KyoN#dX5OhF+q&zsagQ|Tx_vPdG#$}LYY_o7K|Mst|DQ03|+uyn`aeA z@+O4jR6YmuT;UhA46J()rGSg5Jeg5;^Psu(-#0PuSDSUG%%FIP1iyq(sN|;dNNs2I z!c3aeOriP%>0@H#!zSxHf}qsm8>Hu_1R-p1J%60)DVDiNE1UaAWqPbsv2|F*y5Oy8Mau0$I@ryFoM=0oJp6Y zet#{XBoIHqVR6Z@pA#2*eI}kiRcx*e!ASubMiS*M=5qKvxrUt{njuJId8i1#d_jE2 za8AyLm+kKhZ9{nDw3oA1E{1|8n9P1a;N24j`V_2DmNl|4sU^}g#UwEk#1KwUlC)9S z<~dY=L&ylxv0%OooF6j)=`c$V+~x4bNqqx7`ijtr0*V%eUTM%G1Nn* zH%B(pIznUKYwj;3NgLZIANhX28kCah5z?(QT7FvN*nPZ^X9%jGg$N}KoYl0Ajems4 z7amulkaH+d&UOmrMDGL@n{ajbDL zAIaU$0VWFpFi{DHP#TK~LDWyhhT@-2!xha%JD=)fA~Ags!XAxawxy?kbz zN{jQ9%@3TJMAhmpt*)%l^1XXh937#>v*&2>42m*ESTI~fOb=E(DmP-X1KJhx%9ouXXxU0F44@)Y#)w9J3AHnO>2iX?`~6jV}nA}@R8F*n1lm` zBspDGiu072DN$)|l>X|43l}dPGr$i*x`uXN zYqd!`wh5F^lFw*>9_)jBMMj6Ks2V9aFu|i(g)i4-HIYU!l*5IV5}X(29}j$ora`@O zNS>j}Xd#S)xNMeT^u|tY zxro_7E`UZb5go;&Rw+x_;SriyI5PlG)AI{-`Hk<>kAM0zN+y$(%4A?>9Km~px-RmK zKU^bUHqb1|12*pW6QThSri-1S3@3*?C5`(m{D7-LT~bX8s&63Ef*CW=6C7af;g*pb zp_;4G(t4G4E8ApuJAYy$p0210B~vLHE+R1k@$3WmJ|l8;SfjPo`}E1}C2G_Uz{~*m zp}JxpY=uve+D0C=k7{&#X_?m6)~J4nx#Ag^4|s-QPyvidrZbQ{B8YeL`hCG+_5))RQ$hn^ zJ3Yd{ZPc4&cRKW-yhgvh_96Z5qkH5V2)#-L>)_cX;d@Wuh_DAQ&v7J5jnE%&uVRi& z`D}`&W=fEH8jcDoF9?f;(_;qjRx0$-ja&4~cYjCS>3=s#M&ZT8$HE8n1b4g%lZN}C z6NJbL@=>LZThMuS`Vt;-y7kziUO(S*{;yaYME{=Z_;+0C$IPtN&CNt#ewfgiF+E!81aQY`37f{2(L0yTCZ?{ZXcPn z_m97%*MH8<(%FSsnwp*@%Sw>%`!J6>mCJzt`39{V!ZS_&fYjlVD2BKQdKMixaESTP zfsKU8Q*EGyga!=}&TjagxX;fX9e5@j3F3A%JV&*W)qo1&k9RJ@bS(poK`?uJeG z>uXe4-XRn1@c=nN+x7szOFM0o+AvEwKP!l5;r3{F6m{_nWN~;0ts$-eJ#k@M2yWy_ zVc5kg`I=LUBU9uV!pVR^eGL5h(KVyq!jvQuQupo)XZ zNq?vzxIuwRlRGj(lez8AeFi=&L@!eCU50&&)EV$KRDcoE;qv|_t!^V}TiGTV<`;v= zSmQH-BALTeqyr{Segtt(C7v}6bcqZ$3|wT44$?h7IE>YOBvFN++ri;v8;UR_#}VQM zhr*{Zf(s0!u;7UXCa6;{;~QHKUsxl20e?pUTr3d`CMx&cpY+!Con&k2x5)oHC}u{% zs8@yL1zZrr$q`$m3~!$tnWeZm-G`4o*bnd?$P0y2W7@tz?FF)!BZ2lPa5|Caw#)qk zQxOZJZl@W$-2>$JlQC4B3lD(B_3R;tLneU5Idhg@Ry` zBqUp+sUf7yI`$>uf5G+~8Mv^*aeq7dzuleCY1RfyL_ETI{63nGYhJw)sOaplt->V_ z<~-jg7{uJ?QniCll6tsCd9Omnq(`aYA)NVXRM~uwj`qgM&o5GP@|-Y%K^6IYoA*~k z%ed9=)wZJ0>6UTOBPv0DDi}bXy&DJNJ-52r!BJQmEv}yNe%;+!f>32XjDO&64d9ZC zenP2W(UpsHboKIEbobT`Bt9CqA;wRLFvdT7(5 zCV+6z8V>e1oa*6C9D)wx{5_)~t75PG^l0!5jMy(g3%J(jgGvQ$t58MTX)Gmb2F~IP zqgOC->dYCSfiyZ@oTOxSl1!XM=m?GM0EL5Pcwc7#2X4aps7KJ9u79~ZtJjeRKBy9L z4lhQ}1n{+6w;PHaz2ofMpTjFHB{WC4+94P?)QeFvY%8Zfw#*3BB+hV9ih7Sz;m1_ujx z9VIW+6<7_Xef3We#14@OK;%doWfoJ3hz__yA|)lV;<_JGX+P z-GA|I_q`(rJ%72!#uE%^xUP@F#>VSuHCa`&$k(&zxTZK~XT+a-fJP?t$?G{GGvRDD z$T|FjGKjxbwbyTa^BWGFihZ_Mf(az zzGy>ok+LR5Q3bE0**G6e zhTVDsPJaew3)>Z^!hFgD75p|8g3X5a0I}l2Z$7N`4mYV&z8Q5_{} z=qiJysQ-nDFhd@KM@7)v{#gpspAJ&{sA3h*=YOgaD$e}_KKsM#vN6)^0A9X<#I5G; ztyi4t>K&;6hu!Lf4-+nx@1x8=h2AG_4R(6s!BcK16KNWfLwemD8h=yGjek!sOucN4 zE+%nCudBHUSxIHldryKHI_OsbpZ}vAeG0(SZVRLY<>=tVQ5^edSa~42Q;*=?BX@t( zbAPJ$+t9|(&{(;S_kezHOLSweLr7{L#`x1JZ?QMHdYk8&+)A(!D-S-uLd zk9F;F#(b&Y7tmXWk)@RsUaL3oT1hHBrdWl7oXF;JT04ZdNHchshu=3g5kfieYp`P^ z0g{g9XcCwzxZq3_yaYrp`n^6*i*WfKIyWHP?S>wRcRNRs)2QL}xE8jLs)5_s4S(8H zMbX~uCvaa1-_s_2RSh@|#^d*tBD#VgER7^O3vx4X2{@Ain^fJBR4IWLdJ^sFLKI6n znvlK}g*6xn#2wh^S$6Te4U=!81=v8&*aVVz$3wi)(Q7e1zT$wXnS*)ph>B2{kUq6o=)glr?iTM8kZ8RzXx_%}{G pV7?eHIPii4FF5dm1Ao>W_+R&kXh9%+{6hc$002ovPDHLkV1f!+%T@pY delta 4509 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 a{{gK)+bjsseMbNQ002ovP6b4+LSTYBVfBOn diff --git a/app/images/logo/conflux-confi.svg b/app/images/logo/conflux-confi.svg new file mode 100644 index 000000000000..f610f1b2caeb --- /dev/null +++ b/app/images/logo/conflux-confi.svg @@ -0,0 +1,42 @@ + + + + conflux-confi + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/images/logo/conflux-portal-logo-horizontal.svg b/app/images/logo/conflux-portal-logo-horizontal.svg new file mode 100644 index 000000000000..62cf7b37ad62 --- /dev/null +++ b/app/images/logo/conflux-portal-logo-horizontal.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/images/logo/metamask-fox.svg b/app/images/logo/metamask-fox.svg deleted file mode 100644 index c4c293228cfd..000000000000 --- a/app/images/logo/metamask-fox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/images/logo/metamask-logo-horizontal.svg b/app/images/logo/metamask-logo-horizontal.svg deleted file mode 100644 index cc6300ffdeee..000000000000 --- a/app/images/logo/metamask-logo-horizontal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/manifest.json b/app/manifest.json index 2d6104ef45c3..de00bf4599cb 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -26,7 +26,7 @@ }, "applications": { "gecko": { - "id": "conflux-portal@conflux-chain.org", + "id": "portal@conflux-chain.org", "strict_min_version": "56.0" } }, @@ -45,7 +45,7 @@ "128": "images/icon-128.png", "512": "images/icon-512.png" }, - "default_title": "ConfluxPortal", + "default_title": "Conflux Portal", "default_popup": "popup.html" }, "content_scripts": [ diff --git a/app/notification.html b/app/notification.html index f72ecb54b379..817f04a3ebe2 100644 --- a/app/notification.html +++ b/app/notification.html @@ -33,7 +33,7 @@
- +
diff --git a/app/scripts/platforms/extension.js b/app/scripts/platforms/extension.js index 5a0ff316dc7c..eb81a0d45442 100644 --- a/app/scripts/platforms/extension.js +++ b/app/scripts/platforms/extension.js @@ -113,7 +113,7 @@ class ExtensionPlatform { const nonce = parseInt(txMeta.txParams.nonce, 16) const title = 'Confirmed transaction' - const message = `Transaction ${nonce} confirmed! View on Etherscan` + const message = `Transaction ${nonce} confirmed! View on Confluxscan` this._showNotification(title, message, url) } diff --git a/development/states/conf-tx.json b/development/states/conf-tx.json index df31bdc02099..70c87bae32ad 100644 --- a/development/states/conf-tx.json +++ b/development/states/conf-tx.json @@ -55,7 +55,7 @@ "read": true, "date": "Thu Feb 09 2017", "title": "Terms of Use", - "body": "# Terms of Use #\n\n**THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION AND A WAIVER OF CLASS ACTION RIGHTS AS DETAILED IN SECTION 13. PLEASE READ THE AGREEMENT CAREFULLY.**\n\n_Our Terms of Use have been updated as of September 5, 2016_\n\n## 1. Acceptance of Terms ##\n\nMetaMask provides a platform for managing Ethereum (or \"ETH\") accounts, and allowing ordinary websites to interact with the Ethereum blockchain, while keeping the user in control over what transactions they approve, through our website located at[ ](http://metamask.io)[https://metamask.io/](https://metamask.io/) and browser plugin (the \"Site\") — which includes text, images, audio, code and other materials (collectively, the “Content”) and all of the features, and services provided. The Site, and any other features, tools, materials, or other services offered from time to time by MetaMask are referred to here as the “Service.” Please read these Terms of Use (the “Terms” or “Terms of Use”) carefully before using the Service. By using or otherwise accessing the Services, or clicking to accept or agree to these Terms where that option is made available, you (1) accept and agree to these Terms (2) consent to the collection, use, disclosure and other handling of information as described in our Privacy Policy and (3) any additional terms, rules and conditions of participation issued by MetaMask from time to time. If you do not agree to the Terms, then you may not access or use the Content or Services.\n\n## 2. Modification of Terms of Use ##\n\nExcept for Section 13, providing for binding arbitration and waiver of class action rights, MetaMask reserves the right, at its sole discretion, to modify or replace the Terms of Use at any time. The most current version of these Terms will be posted on our Site. You shall be responsible for reviewing and becoming familiar with any such modifications. Use of the Services by you after any modification to the Terms constitutes your acceptance of the Terms of Use as modified.\n\n\n\n## 3. Eligibility ##\n\nYou hereby represent and warrant that you are fully able and competent to enter into the terms, conditions, obligations, affirmations, representations and warranties set forth in these Terms and to abide by and comply with these Terms.\n\nMetaMask is a global platform and by accessing the Content or Services, you are representing and warranting that, you are of the legal age of majority in your jurisdiction as is required to access such Services and Content and enter into arrangements as provided by the Service. You further represent that you are otherwise legally permitted to use the service in your jurisdiction including owning cryptographic tokens of value, and interacting with the Services or Content in any way. You further represent you are responsible for ensuring compliance with the laws of your jurisdiction and acknowledge that MetaMask is not liable for your compliance with such laws.\n\n## 4 Account Password and Security ##\n\nWhen setting up an account within MetaMask, you will be responsible for keeping your own account secrets, which may be a twelve-word seed phrase, an account file, or other locally stored secret information. MetaMask encrypts this information locally with a password you provide, that we never send to our servers. You agree to (a) never use the same password for MetaMask that you have ever used outside of this service; (b) keep your secret information and password confidential and do not share them with anyone else; (c) immediately notify MetaMask of any unauthorized use of your account or breach of security. MetaMask cannot and will not be liable for any loss or damage arising from your failure to comply with this section.\n\n## 5. Representations, Warranties, and Risks ##\n\n### 5.1. Warranty Disclaimer ###\n\nYou expressly understand and agree that your use of the Service is at your sole risk. The Service (including the Service and the Content) are provided on an \"AS IS\" and \"as available\" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose or non-infringement. You acknowledge that MetaMask has no control over, and no duty to take any action regarding: which users gain access to or use the Service; what effects the Content may have on you; how you may interpret or use the Content; or what actions you may take as a result of having been exposed to the Content. You release MetaMask from all liability for you having acquired or not acquired Content through the Service. MetaMask makes no representations concerning any Content contained in or accessed through the Service, and MetaMask will not be responsible or liable for the accuracy, copyright compliance, legality or decency of material contained in or accessed through the Service.\n\n### 5.2 Sophistication and Risk of Cryptographic Systems ###\n\nBy utilizing the Service or interacting with the Content or platform in any way, you represent that you understand the inherent risks associated with cryptographic systems; and warrant that you have an understanding of the usage and intricacies of native cryptographic tokens, like Ether (ETH) and Bitcoin (BTC), smart contract based tokens such as those that follow the Ethereum Token Standard (https://github.com/ethereum/EIPs/issues/20), and blockchain-based software systems.\n\n### 5.3 Risk of Regulatory Actions in One or More Jurisdictions ###\n\nMetaMask and ETH could be impacted by one or more regulatory inquiries or regulatory action, which could impede or limit the ability of MetaMask to continue to develop, or which could impede or limit your ability to access or use the Service or Ethereum blockchain.\n\n### 5.4 Risk of Weaknesses or Exploits in the Field of Cryptography ###\n\nYou acknowledge and understand that Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to cryptocurrencies and Services of Content, which could result in the theft or loss of your cryptographic tokens or property. To the extent possible, MetaMask intends to update the protocol underlying Services to account for any advances in cryptography and to incorporate additional security measures, but does not guarantee or otherwise represent full security of the system. By using the Service or accessing Content, you acknowledge these inherent risks.\n\n### 5.5 Volatility of Crypto Currencies ###\n\nYou understand that Ethereum and other blockchain technologies and associated currencies or tokens are highly volatile due to many factors including but not limited to adoption, speculation, technology and security risks. You also acknowledge that the cost of transacting on such technologies is variable and may increase at any time causing impact to any activities taking place on the Ethereum blockchain. You acknowledge these risks and represent that MetaMask cannot be held liable for such fluctuations or increased costs.\n\n### 5.6 Application Security ###\n\nYou acknowledge that Ethereum applications are code subject to flaws and acknowledge that you are solely responsible for evaluating any code provided by the Services or Content and the trustworthiness of any third-party websites, products, smart-contracts, or Content you access or use through the Service. You further expressly acknowledge and represent that Ethereum applications can be written maliciously or negligently, that MetaMask cannot be held liable for your interaction with such applications and that such applications may cause the loss of property or even identity. This warning and others later provided by MetaMask in no way evidence or represent an on-going duty to alert you to all of the potential risks of utilizing the Service or Content.\n\n## 6. Indemnity ##\n\nYou agree to release and to indemnify, defend and hold harmless MetaMask and its parents, subsidiaries, affiliates and agencies, as well as the officers, directors, employees, shareholders and representatives of any of the foregoing entities, from and against any and all losses, liabilities, expenses, damages, costs (including attorneys’ fees and court costs) claims or actions of any kind whatsoever arising or resulting from your use of the Service, your violation of these Terms of Use, and any of your acts or omissions that implicate publicity rights, defamation or invasion of privacy. MetaMask reserves the right, at its own expense, to assume exclusive defense and control of any matter otherwise subject to indemnification by you and, in such case, you agree to cooperate with MetaMask in the defense of such matter.\n\n## 7. Limitation on liability ##\n\nYOU ACKNOWLEDGE AND AGREE THAT YOU ASSUME FULL RESPONSIBILITY FOR YOUR USE OF THE SITE AND SERVICE. YOU ACKNOWLEDGE AND AGREE THAT ANY INFORMATION YOU SEND OR RECEIVE DURING YOUR USE OF THE SITE AND SERVICE MAY NOT BE SECURE AND MAY BE INTERCEPTED OR LATER ACQUIRED BY UNAUTHORIZED PARTIES. YOU ACKNOWLEDGE AND AGREE THAT YOUR USE OF THE SITE AND SERVICE IS AT YOUR OWN RISK. RECOGNIZING SUCH, YOU UNDERSTAND AND AGREE THAT, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER METAMASK NOR ITS SUPPLIERS OR LICENSORS WILL BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER TANGIBLE OR INTANGIBLE LOSSES OR ANY OTHER DAMAGES BASED ON CONTRACT, TORT, STRICT LIABILITY OR ANY OTHER THEORY (EVEN IF METAMASK HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES), RESULTING FROM THE SITE OR SERVICE; THE USE OR THE INABILITY TO USE THE SITE OR SERVICE; UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON THE SITE OR SERVICE; ANY ACTIONS WE TAKE OR FAIL TO TAKE AS A RESULT OF COMMUNICATIONS YOU SEND TO US; HUMAN ERRORS; TECHNICAL MALFUNCTIONS; FAILURES, INCLUDING PUBLIC UTILITY OR TELEPHONE OUTAGES; OMISSIONS, INTERRUPTIONS, LATENCY, DELETIONS OR DEFECTS OF ANY DEVICE OR NETWORK, PROVIDERS, OR SOFTWARE (INCLUDING, BUT NOT LIMITED TO, THOSE THAT DO NOT PERMIT PARTICIPATION IN THE SERVICE); ANY INJURY OR DAMAGE TO COMPUTER EQUIPMENT; INABILITY TO FULLY ACCESS THE SITE OR SERVICE OR ANY OTHER WEBSITE; THEFT, TAMPERING, DESTRUCTION, OR UNAUTHORIZED ACCESS TO, IMAGES OR OTHER CONTENT OF ANY KIND; DATA THAT IS PROCESSED LATE OR INCORRECTLY OR IS INCOMPLETE OR LOST; TYPOGRAPHICAL, PRINTING OR OTHER ERRORS, OR ANY COMBINATION THEREOF; OR ANY OTHER MATTER RELATING TO THE SITE OR SERVICE.\n\nSOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.\n\n## 8. Our Proprietary Rights ##\n\nAll title, ownership and intellectual property rights in and to the Service are owned by MetaMask or its licensors. You acknowledge and agree that the Service contains proprietary and confidential information that is protected by applicable intellectual property and other laws. Except as expressly authorized by MetaMask, you agree not to copy, modify, rent, lease, loan, sell, distribute, perform, display or create derivative works based on the Service, in whole or in part. MetaMask issues a license for MetaMask, found [here](https://github.com/MetaMask/metamask-plugin/blob/master/LICENSE). For information on other licenses utilized in the development of MetaMask, please see our attribution page at: [https://metamask.io/attributions.html](https://metamask.io/attributions.html)\n\n## 9. Links ##\n\nThe Service provides, or third parties may provide, links to other World Wide Web or accessible sites, applications or resources. Because MetaMask has no control over such sites, applications and resources, you acknowledge and agree that MetaMask is not responsible for the availability of such external sites, applications or resources, and does not endorse and is not responsible or liable for any content, advertising, products or other materials on or available from such sites or resources. You further acknowledge and agree that MetaMask shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such site or resource.\n\n## 10. Termination and Suspension ##\n\nMetaMask may terminate or suspend all or part of the Service and your MetaMask access immediately, without prior notice or liability, if you breach any of the terms or conditions of the Terms. Upon termination of your access, your right to use the Service will immediately cease.\n\nThe following provisions of the Terms survive any termination of these Terms: INDEMNITY; WARRANTY DISCLAIMERS; LIMITATION ON LIABILITY; OUR PROPRIETARY RIGHTS; LINKS; TERMINATION; NO THIRD PARTY BENEFICIARIES; BINDING ARBITRATION AND CLASS ACTION WAIVER; GENERAL INFORMATION.\n\n## 11. No Third Party Beneficiaries ##\n\nYou agree that, except as otherwise expressly provided in these Terms, there shall be no third party beneficiaries to the Terms.\n\n## 12. Notice and Procedure For Making Claims of Copyright Infringement ##\n\nIf you believe that your copyright or the copyright of a person on whose behalf you are authorized to act has been infringed, please provide MetaMask’s Copyright Agent a written Notice containing the following information:\n\n· an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright or other intellectual property interest;\n\n· a description of the copyrighted work or other intellectual property that you claim has been infringed;\n\n· a description of where the material that you claim is infringing is located on the Service;\n\n· your address, telephone number, and email address;\n\n· a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;\n\n· a statement by you, made under penalty of perjury, that the above information in your Notice is accurate and that you are the copyright or intellectual property owner or authorized to act on the copyright or intellectual property owner's behalf.\n\nMetaMask’s Copyright Agent can be reached at:\n\nEmail: copyright [at] metamask [dot] io\n\nMail:\n\nAttention:\n\nMetaMask Copyright ℅ ConsenSys\n\n49 Bogart Street\n\nBrooklyn, NY 11206\n\n## 13. Binding Arbitration and Class Action Waiver ##\n\nPLEASE READ THIS SECTION CAREFULLY – IT MAY SIGNIFICANTLY AFFECT YOUR LEGAL RIGHTS, INCLUDING YOUR RIGHT TO FILE A LAWSUIT IN COURT\n\n### 13.1 Initial Dispute Resolution ###\n\nThe parties shall use their best efforts to engage directly to settle any dispute, claim, question, or disagreement and engage in good faith negotiations which shall be a condition to either party initiating a lawsuit or arbitration.\n\n### 13.2 Binding Arbitration ###\n\nIf the parties do not reach an agreed upon solution within a period of 30 days from the time informal dispute resolution under the Initial Dispute Resolution provision begins, then either party may initiate binding arbitration as the sole means to resolve claims, subject to the terms set forth below. Specifically, all claims arising out of or relating to these Terms (including their formation, performance and breach), the parties’ relationship with each other and/or your use of the Service shall be finally settled by binding arbitration administered by the American Arbitration Association in accordance with the provisions of its Commercial Arbitration Rules and the supplementary procedures for consumer related disputes of the American Arbitration Association (the \"AAA\"), excluding any rules or procedures governing or permitting class actions.\n\nThe arbitrator, and not any federal, state or local court or agency, shall have exclusive authority to resolve all disputes arising out of or relating to the interpretation, applicability, enforceability or formation of these Terms, including, but not limited to any claim that all or any part of these Terms are void or voidable, or whether a claim is subject to arbitration. The arbitrator shall be empowered to grant whatever relief would be available in a court under law or in equity. The arbitrator’s award shall be written, and binding on the parties and may be entered as a judgment in any court of competent jurisdiction.\n\nThe parties understand that, absent this mandatory provision, they would have the right to sue in court and have a jury trial. They further understand that, in some instances, the costs of arbitration could exceed the costs of litigation and the right to discovery may be more limited in arbitration than in court.\n\n### 13.3 Location ###\n\nBinding arbitration shall take place in New York. You agree to submit to the personal jurisdiction of any federal or state court in New York County, New York, in order to compel arbitration, to stay proceedings pending arbitration, or to confirm, modify, vacate or enter judgment on the award entered by the arbitrator.\n\n### 13.4 Class Action Waiver ###\n\nThe parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis. YOU AND METAMASK AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. If any court or arbitrator determines that the class action waiver set forth in this paragraph is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void in its entirety and the parties shall be deemed to have not agreed to arbitrate disputes.\n\n### 13.5 Exception - Litigation of Intellectual Property and Small Claims Court Claims ###\n\nNotwithstanding the parties' decision to resolve all disputes through arbitration, either party may bring an action in state or federal court to protect its intellectual property rights (\"intellectual property rights\" means patents, copyrights, moral rights, trademarks, and trade secrets, but not privacy or publicity rights). Either party may also seek relief in a small claims court for disputes or claims within the scope of that court’s jurisdiction.\n\n### 13.6 30-Day Right to Opt Out ###\n\nYou have the right to opt-out and not be bound by the arbitration and class action waiver provisions set forth above by sending written notice of your decision to opt-out to the following address: MetaMask ℅ ConsenSys, 49 Bogart Street, Brooklyn NY 11206 and via email at support@metamask.io. The notice must be sent within 30 days of September 6, 2016 or your first use of the Service, whichever is later, otherwise you shall be bound to arbitrate disputes in accordance with the terms of those paragraphs. If you opt-out of these arbitration provisions, MetaMask also will not be bound by them.\n\n### 13.7 Changes to This Section ###\n\nMetaMask will provide 60-days’ notice of any changes to this section. Changes will become effective on the 60th day, and will apply prospectively only to any claims arising after the 60th day.\n\nFor any dispute not subject to arbitration you and MetaMask agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, New York. You further agree to accept service of process by mail, and hereby waive any and all jurisdictional and venue defenses otherwise available.\n\nThe Terms and the relationship between you and MetaMask shall be governed by the laws of the State of New York without regard to conflict of law provisions.\n\n## 14. General Information ##\n\n### 14.1 Entire Agreement ###\n\nThese Terms (and any additional terms, rules and conditions of participation that MetaMask may post on the Service) constitute the entire agreement between you and MetaMask with respect to the Service and supersedes any prior agreements, oral or written, between you and MetaMask. In the event of a conflict between these Terms and the additional terms, rules and conditions of participation, the latter will prevail over the Terms to the extent of the conflict.\n\n### 14.2 Waiver and Severability of Terms ###\n\nThe failure of MetaMask to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. If any provision of the Terms is found by an arbitrator or court of competent jurisdiction to be invalid, the parties nevertheless agree that the arbitrator or court should endeavor to give effect to the parties' intentions as reflected in the provision, and the other provisions of the Terms remain in full force and effect.\n\n### 14.3 Statute of Limitations ###\n\nYou agree that regardless of any statute or law to the contrary, any claim or cause of action arising out of or related to the use of the Service or the Terms must be filed within one (1) year after such claim or cause of action arose or be forever barred.\n\n### 14.4 Section Titles ###\n\nThe section titles in the Terms are for convenience only and have no legal or contractual effect.\n\n### 14.5 Communications ###\n\nUsers with questions, complaints or claims with respect to the Service may contact us using the relevant contact information set forth above and at communications@metamask.io.\n\n## 15 Related Links ##\n\n**[Terms of Use](https://metamask.io/terms.html)**\n\n**[Privacy](https://metamask.io/privacy.html)**\n\n**[Attributions](https://metamask.io/attributions.html)**\n\n", + "body": "# Terms of Use #\n\n**THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION AND A WAIVER OF CLASS ACTION RIGHTS AS DETAILED IN SECTION 13. PLEASE READ THE AGREEMENT CAREFULLY.**\n\n_Our Terms of Use have been updated as of September 5, 2016_\n\n## 1. Acceptance of Terms ##\n\nMetaMask provides a platform for managing Ethereum (or \"ETH\") accounts, and allowing ordinary websites to interact with the Ethereum blockchain, while keeping the user in control over what transactions they approve, through our website located at[ ](http://metamask.io)[https://metamask.io/](https://metamask.io/) and browser plugin (the \"Site\") — which includes text, images, audio, code and other materials (collectively, the “Content”) and all of the features, and services provided. The Site, and any other features, tools, materials, or other services offered from time to time by MetaMask are referred to here as the “Service.” Please read these Terms of Use (the “Terms” or “Terms of Use”) carefully before using the Service. By using or otherwise accessing the Services, or clicking to accept or agree to these Terms where that option is made available, you (1) accept and agree to these Terms (2) consent to the collection, use, disclosure and other handling of information as described in our Privacy Policy and (3) any additional terms, rules and conditions of participation issued by MetaMask from time to time. If you do not agree to the Terms, then you may not access or use the Content or Services.\n\n## 2. Modification of Terms of Use ##\n\nExcept for Section 13, providing for binding arbitration and waiver of class action rights, MetaMask reserves the right, at its sole discretion, to modify or replace the Terms of Use at any time. The most current version of these Terms will be posted on our Site. You shall be responsible for reviewing and becoming familiar with any such modifications. Use of the Services by you after any modification to the Terms constitutes your acceptance of the Terms of Use as modified.\n\n\n\n## 3. Eligibility ##\n\nYou hereby represent and warrant that you are fully able and competent to enter into the terms, conditions, obligations, affirmations, representations and warranties set forth in these Terms and to abide by and comply with these Terms.\n\nMetaMask is a global platform and by accessing the Content or Services, you are representing and warranting that, you are of the legal age of majority in your jurisdiction as is required to access such Services and Content and enter into arrangements as provided by the Service. You further represent that you are otherwise legally permitted to use the service in your jurisdiction including owning cryptographic tokens of value, and interacting with the Services or Content in any way. You further represent you are responsible for ensuring compliance with the laws of your jurisdiction and acknowledge that MetaMask is not liable for your compliance with such laws.\n\n## 4 Account Password and Security ##\n\nWhen setting up an account within MetaMask, you will be responsible for keeping your own account secrets, which may be a twelve-word seed phrase, an account file, or other locally stored secret information. MetaMask encrypts this information locally with a password you provide, that we never send to our servers. You agree to (a) never use the same password for MetaMask that you have ever used outside of this service; (b) keep your secret information and password confidential and do not share them with anyone else; (c) immediately notify MetaMask of any unauthorized use of your account or breach of security. MetaMask cannot and will not be liable for any loss or damage arising from your failure to comply with this section.\n\n## 5. Representations, Warranties, and Risks ##\n\n### 5.1. Warranty Disclaimer ###\n\nYou expressly understand and agree that your use of the Service is at your sole risk. The Service (including the Service and the Content) are provided on an \"AS IS\" and \"as available\" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose or non-infringement. You acknowledge that MetaMask has no control over, and no duty to take any action regarding: which users gain access to or use the Service; what effects the Content may have on you; how you may interpret or use the Content; or what actions you may take as a result of having been exposed to the Content. You release MetaMask from all liability for you having acquired or not acquired Content through the Service. MetaMask makes no representations concerning any Content contained in or accessed through the Service, and MetaMask will not be responsible or liable for the accuracy, copyright compliance, legality or decency of material contained in or accessed through the Service.\n\n### 5.2 Sophistication and Risk of Cryptographic Systems ###\n\nBy utilizing the Service or interacting with the Content or platform in any way, you represent that you understand the inherent risks associated with cryptographic systems; and warrant that you have an understanding of the usage and intricacies of native cryptographic tokens, like Ether (ETH) and Bitcoin (BTC), smart contract based tokens such as those that follow the Ethereum Token Standard (https://github.com/ethereum/EIPs/issues/20), and blockchain-based software systems.\n\n### 5.3 Risk of Regulatory Actions in One or More Jurisdictions ###\n\nMetaMask and ETH could be impacted by one or more regulatory inquiries or regulatory action, which could impede or limit the ability of MetaMask to continue to develop, or which could impede or limit your ability to access or use the Service or Ethereum blockchain.\n\n### 5.4 Risk of Weaknesses or Exploits in the Field of Cryptography ###\n\nYou acknowledge and understand that Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to cryptocurrencies and Services of Content, which could result in the theft or loss of your cryptographic tokens or property. To the extent possible, MetaMask intends to update the protocol underlying Services to account for any advances in cryptography and to incorporate additional security measures, but does not guarantee or otherwise represent full security of the system. By using the Service or accessing Content, you acknowledge these inherent risks.\n\n### 5.5 Volatility of Crypto Currencies ###\n\nYou understand that Ethereum and other blockchain technologies and associated currencies or tokens are highly volatile due to many factors including but not limited to adoption, speculation, technology and security risks. You also acknowledge that the cost of transacting on such technologies is variable and may increase at any time causing impact to any activities taking place on the Ethereum blockchain. You acknowledge these risks and represent that MetaMask cannot be held liable for such fluctuations or increased costs.\n\n### 5.6 Application Security ###\n\nYou acknowledge that Ethereum applications are code subject to flaws and acknowledge that you are solely responsible for evaluating any code provided by the Services or Content and the trustworthiness of any third-party websites, products, smart-contracts, or Content you access or use through the Service. You further expressly acknowledge and represent that Ethereum applications can be written maliciously or negligently, that MetaMask cannot be held liable for your interaction with such applications and that such applications may cause the loss of property or even identity. This warning and others later provided by MetaMask in no way evidence or represent an on-going duty to alert you to all of the potential risks of utilizing the Service or Content.\n\n## 6. Indemnity ##\n\nYou agree to release and to indemnify, defend and hold harmless MetaMask and its parents, subsidiaries, affiliates and agencies, as well as the officers, directors, employees, shareholders and representatives of any of the foregoing entities, from and against any and all losses, liabilities, expenses, damages, costs (including attorneys’ fees and court costs) claims or actions of any kind whatsoever arising or resulting from your use of the Service, your violation of these Terms of Use, and any of your acts or omissions that implicate publicity rights, defamation or invasion of privacy. MetaMask reserves the right, at its own expense, to assume exclusive defense and control of any matter otherwise subject to indemnification by you and, in such case, you agree to cooperate with MetaMask in the defense of such matter.\n\n## 7. Limitation on liability ##\n\nYOU ACKNOWLEDGE AND AGREE THAT YOU ASSUME FULL RESPONSIBILITY FOR YOUR USE OF THE SITE AND SERVICE. YOU ACKNOWLEDGE AND AGREE THAT ANY INFORMATION YOU SEND OR RECEIVE DURING YOUR USE OF THE SITE AND SERVICE MAY NOT BE SECURE AND MAY BE INTERCEPTED OR LATER ACQUIRED BY UNAUTHORIZED PARTIES. YOU ACKNOWLEDGE AND AGREE THAT YOUR USE OF THE SITE AND SERVICE IS AT YOUR OWN RISK. RECOGNIZING SUCH, YOU UNDERSTAND AND AGREE THAT, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER METAMASK NOR ITS SUPPLIERS OR LICENSORS WILL BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER TANGIBLE OR INTANGIBLE LOSSES OR ANY OTHER DAMAGES BASED ON CONTRACT, TORT, STRICT LIABILITY OR ANY OTHER THEORY (EVEN IF METAMASK HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES), RESULTING FROM THE SITE OR SERVICE; THE USE OR THE INABILITY TO USE THE SITE OR SERVICE; UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON THE SITE OR SERVICE; ANY ACTIONS WE TAKE OR FAIL TO TAKE AS A RESULT OF COMMUNICATIONS YOU SEND TO US; HUMAN ERRORS; TECHNICAL MALFUNCTIONS; FAILURES, INCLUDING PUBLIC UTILITY OR TELEPHONE OUTAGES; OMISSIONS, INTERRUPTIONS, LATENCY, DELETIONS OR DEFECTS OF ANY DEVICE OR NETWORK, PROVIDERS, OR SOFTWARE (INCLUDING, BUT NOT LIMITED TO, THOSE THAT DO NOT PERMIT PARTICIPATION IN THE SERVICE); ANY INJURY OR DAMAGE TO COMPUTER EQUIPMENT; INABILITY TO FULLY ACCESS THE SITE OR SERVICE OR ANY OTHER WEBSITE; THEFT, TAMPERING, DESTRUCTION, OR UNAUTHORIZED ACCESS TO, IMAGES OR OTHER CONTENT OF ANY KIND; DATA THAT IS PROCESSED LATE OR INCORRECTLY OR IS INCOMPLETE OR LOST; TYPOGRAPHICAL, PRINTING OR OTHER ERRORS, OR ANY COMBINATION THEREOF; OR ANY OTHER MATTER RELATING TO THE SITE OR SERVICE.\n\nSOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.\n\n## 8. Our Proprietary Rights ##\n\nAll title, ownership and intellectual property rights in and to the Service are owned by MetaMask or its licensors. You acknowledge and agree that the Service contains proprietary and confidential information that is protected by applicable intellectual property and other laws. Except as expressly authorized by MetaMask, you agree not to copy, modify, rent, lease, loan, sell, distribute, perform, display or create derivative works based on the Service, in whole or in part. MetaMask issues a license for MetaMask, found [here](https://github.com/MetaMask/metamask-plugin/blob/master/LICENSE). For information on other licenses utilized in the development of MetaMask, please see our attribution page at: [https://metamask.io/attributions.html](https://metamask.io/attributions.html)\n\n## 9. Links ##\n\nThe Service provides, or third parties may provide, links to other World Wide Web or accessible sites, applications or resources. Because MetaMask has no control over such sites, applications and resources, you acknowledge and agree that MetaMask is not responsible for the availability of such external sites, applications or resources, and does not endorse and is not responsible or liable for any content, advertising, products or other materials on or available from such sites or resources. You further acknowledge and agree that MetaMask shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such site or resource.\n\n## 10. Termination and Suspension ##\n\nMetaMask may terminate or suspend all or part of the Service and your MetaMask access immediately, without prior notice or liability, if you breach any of the terms or conditions of the Terms. Upon termination of your access, your right to use the Service will immediately cease.\n\nThe following provisions of the Terms survive any termination of these Terms: INDEMNITY; WARRANTY DISCLAIMERS; LIMITATION ON LIABILITY; OUR PROPRIETARY RIGHTS; LINKS; TERMINATION; NO THIRD PARTY BENEFICIARIES; BINDING ARBITRATION AND CLASS ACTION WAIVER; GENERAL INFORMATION.\n\n## 11. No Third Party Beneficiaries ##\n\nYou agree that, except as otherwise expressly provided in these Terms, there shall be no third party beneficiaries to the Terms.\n\n## 12. Notice and Procedure For Making Claims of Copyright Infringement ##\n\nIf you believe that your copyright or the copyright of a person on whose behalf you are authorized to act has been infringed, please provide MetaMask’s Copyright Agent a written Notice containing the following information:\n\n· an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright or other intellectual property interest;\n\n· a description of the copyrighted work or other intellectual property that you claim has been infringed;\n\n· a description of where the material that you claim is infringing is located on the Service;\n\n· your address, telephone number, and email address;\n\n· a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;\n\n· a statement by you, made under penalty of perjury, that the above information in your Notice is accurate and that you are the copyright or intellectual property owner or authorized to act on the copyright or intellectual property owner's behalf.\n\nMetaMask’s Copyright Agent can be reached at:\n\nEmail: copyright [at] metamask [dot] io\n\nMail:\n\nAttention:\n\nMetaMask Copyright ℅ ConsenSys\n\n49 Bogart Street\n\nBrooklyn, NY 11206\n\n## 13. Binding Arbitration and Class Action Waiver ##\n\nPLEASE READ THIS SECTION CAREFULLY – IT MAY SIGNIFICANTLY AFFECT YOUR LEGAL RIGHTS, INCLUDING YOUR RIGHT TO FILE A LAWSUIT IN COURT\n\n### 13.1 Initial Dispute Resolution ###\n\nThe parties shall use their best efforts to engage directly to settle any dispute, claim, question, or disagreement and engage in good faith negotiations which shall be a condition to either party initiating a lawsuit or arbitration.\n\n### 13.2 Binding Arbitration ###\n\nIf the parties do not reach an agreed upon solution within a period of 30 days from the time informal dispute resolution under the Initial Dispute Resolution provision begins, then either party may initiate binding arbitration as the sole means to resolve claims, subject to the terms set forth below. Specifically, all claims arising out of or relating to these Terms (including their formation, performance and breach), the parties’ relationship with each other and/or your use of the Service shall be finally settled by binding arbitration administered by the American Arbitration Association in accordance with the provisions of its Commercial Arbitration Rules and the supplementary procedures for consumer related disputes of the American Arbitration Association (the \"AAA\"), excluding any rules or procedures governing or permitting class actions.\n\nThe arbitrator, and not any federal, state or local court or agency, shall have exclusive authority to resolve all disputes arising out of or relating to the interpretation, applicability, enforceability or formation of these Terms, including, but not limited to any claim that all or any part of these Terms are void or voidable, or whether a claim is subject to arbitration. The arbitrator shall be empowered to grant whatever relief would be available in a court under law or in equity. The arbitrator’s award shall be written, and binding on the parties and may be entered as a judgment in any court of competent jurisdiction.\n\nThe parties understand that, absent this mandatory provision, they would have the right to sue in court and have a jury trial. They further understand that, in some instances, the costs of arbitration could exceed the costs of litigation and the right to discovery may be more limited in arbitration than in court.\n\n### 13.3 Location ###\n\nBinding arbitration shall take place in New York. You agree to submit to the personal jurisdiction of any federal or state court in New York County, New York, in order to compel arbitration, to stay proceedings pending arbitration, or to confirm, modify, vacate or enter judgment on the award entered by the arbitrator.\n\n### 13.4 Class Action Waiver ###\n\nThe parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis. YOU AND METAMASK AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. If any court or arbitrator determines that the class action waiver set forth in this paragraph is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void in its entirety and the parties shall be deemed to have not agreed to arbitrate disputes.\n\n### 13.5 Exception - Litigation of Intellectual Property and Small Claims Court Claims ###\n\nNotwithstanding the parties' decision to resolve all disputes through arbitration, either party may bring an action in state or federal court to protect its intellectual property rights (\"intellectual property rights\" means patents, copyrights, moral rights, trademarks, and trade secrets, but not privacy or publicity rights). Either party may also seek relief in a small claims court for disputes or claims within the scope of that court’s jurisdiction.\n\n### 13.6 30-Day Right to Opt Out ###\n\nYou have the right to opt-out and not be bound by the arbitration and class action waiver provisions set forth above by sending written notice of your decision to opt-out to the following address: MetaMask ℅ ConsenSys, 49 Bogart Street, Brooklyn NY 11206 and via email at portal@conflux-chain.org. The notice must be sent within 30 days of September 6, 2016 or your first use of the Service, whichever is later, otherwise you shall be bound to arbitrate disputes in accordance with the terms of those paragraphs. If you opt-out of these arbitration provisions, MetaMask also will not be bound by them.\n\n### 13.7 Changes to This Section ###\n\nMetaMask will provide 60-days’ notice of any changes to this section. Changes will become effective on the 60th day, and will apply prospectively only to any claims arising after the 60th day.\n\nFor any dispute not subject to arbitration you and MetaMask agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, New York. You further agree to accept service of process by mail, and hereby waive any and all jurisdictional and venue defenses otherwise available.\n\nThe Terms and the relationship between you and MetaMask shall be governed by the laws of the State of New York without regard to conflict of law provisions.\n\n## 14. General Information ##\n\n### 14.1 Entire Agreement ###\n\nThese Terms (and any additional terms, rules and conditions of participation that MetaMask may post on the Service) constitute the entire agreement between you and MetaMask with respect to the Service and supersedes any prior agreements, oral or written, between you and MetaMask. In the event of a conflict between these Terms and the additional terms, rules and conditions of participation, the latter will prevail over the Terms to the extent of the conflict.\n\n### 14.2 Waiver and Severability of Terms ###\n\nThe failure of MetaMask to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. If any provision of the Terms is found by an arbitrator or court of competent jurisdiction to be invalid, the parties nevertheless agree that the arbitrator or court should endeavor to give effect to the parties' intentions as reflected in the provision, and the other provisions of the Terms remain in full force and effect.\n\n### 14.3 Statute of Limitations ###\n\nYou agree that regardless of any statute or law to the contrary, any claim or cause of action arising out of or related to the use of the Service or the Terms must be filed within one (1) year after such claim or cause of action arose or be forever barred.\n\n### 14.4 Section Titles ###\n\nThe section titles in the Terms are for convenience only and have no legal or contractual effect.\n\n### 14.5 Communications ###\n\nUsers with questions, complaints or claims with respect to the Service may contact us using the relevant contact information set forth above and at communications@metamask.io.\n\n## 15 Related Links ##\n\n**[Terms of Use](https://metamask.io/terms.html)**\n\n**[Privacy](https://metamask.io/privacy.html)**\n\n**[Attributions](https://metamask.io/attributions.html)**\n\n", "id": 0 }, "network": "3", diff --git a/development/states/first-time.json b/development/states/first-time.json index 72cf2ffdabc9..4b81d1ab94c3 100644 --- a/development/states/first-time.json +++ b/development/states/first-time.json @@ -14,7 +14,7 @@ "read": false, "date": "Thu Feb 09 2017", "title": "Terms of Use", - "body": "# Terms of Use #\n\n**THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION AND A WAIVER OF CLASS ACTION RIGHTS AS DETAILED IN SECTION 13. PLEASE READ THE AGREEMENT CAREFULLY.**\n\n_Our Terms of Use have been updated as of September 5, 2016_\n\n## 1. Acceptance of Terms ##\n\nMetaMask provides a platform for managing Ethereum (or \"ETH\") accounts, and allowing ordinary websites to interact with the Ethereum blockchain, while keeping the user in control over what transactions they approve, through our website located at[ ](http://metamask.io)[https://metamask.io/](https://metamask.io/) and browser plugin (the \"Site\") — which includes text, images, audio, code and other materials (collectively, the “Content”) and all of the features, and services provided. The Site, and any other features, tools, materials, or other services offered from time to time by MetaMask are referred to here as the “Service.” Please read these Terms of Use (the “Terms” or “Terms of Use”) carefully before using the Service. By using or otherwise accessing the Services, or clicking to accept or agree to these Terms where that option is made available, you (1) accept and agree to these Terms (2) consent to the collection, use, disclosure and other handling of information as described in our Privacy Policy and (3) any additional terms, rules and conditions of participation issued by MetaMask from time to time. If you do not agree to the Terms, then you may not access or use the Content or Services.\n\n## 2. Modification of Terms of Use ##\n\nExcept for Section 13, providing for binding arbitration and waiver of class action rights, MetaMask reserves the right, at its sole discretion, to modify or replace the Terms of Use at any time. The most current version of these Terms will be posted on our Site. You shall be responsible for reviewing and becoming familiar with any such modifications. Use of the Services by you after any modification to the Terms constitutes your acceptance of the Terms of Use as modified.\n\n\n\n## 3. Eligibility ##\n\nYou hereby represent and warrant that you are fully able and competent to enter into the terms, conditions, obligations, affirmations, representations and warranties set forth in these Terms and to abide by and comply with these Terms.\n\nMetaMask is a global platform and by accessing the Content or Services, you are representing and warranting that, you are of the legal age of majority in your jurisdiction as is required to access such Services and Content and enter into arrangements as provided by the Service. You further represent that you are otherwise legally permitted to use the service in your jurisdiction including owning cryptographic tokens of value, and interacting with the Services or Content in any way. You further represent you are responsible for ensuring compliance with the laws of your jurisdiction and acknowledge that MetaMask is not liable for your compliance with such laws.\n\n## 4 Account Password and Security ##\n\nWhen setting up an account within MetaMask, you will be responsible for keeping your own account secrets, which may be a twelve-word seed phrase, an account file, or other locally stored secret information. MetaMask encrypts this information locally with a password you provide, that we never send to our servers. You agree to (a) never use the same password for MetaMask that you have ever used outside of this service; (b) keep your secret information and password confidential and do not share them with anyone else; (c) immediately notify MetaMask of any unauthorized use of your account or breach of security. MetaMask cannot and will not be liable for any loss or damage arising from your failure to comply with this section.\n\n## 5. Representations, Warranties, and Risks ##\n\n### 5.1. Warranty Disclaimer ###\n\nYou expressly understand and agree that your use of the Service is at your sole risk. The Service (including the Service and the Content) are provided on an \"AS IS\" and \"as available\" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose or non-infringement. You acknowledge that MetaMask has no control over, and no duty to take any action regarding: which users gain access to or use the Service; what effects the Content may have on you; how you may interpret or use the Content; or what actions you may take as a result of having been exposed to the Content. You release MetaMask from all liability for you having acquired or not acquired Content through the Service. MetaMask makes no representations concerning any Content contained in or accessed through the Service, and MetaMask will not be responsible or liable for the accuracy, copyright compliance, legality or decency of material contained in or accessed through the Service.\n\n### 5.2 Sophistication and Risk of Cryptographic Systems ###\n\nBy utilizing the Service or interacting with the Content or platform in any way, you represent that you understand the inherent risks associated with cryptographic systems; and warrant that you have an understanding of the usage and intricacies of native cryptographic tokens, like Ether (ETH) and Bitcoin (BTC), smart contract based tokens such as those that follow the Ethereum Token Standard (https://github.com/ethereum/EIPs/issues/20), and blockchain-based software systems.\n\n### 5.3 Risk of Regulatory Actions in One or More Jurisdictions ###\n\nMetaMask and ETH could be impacted by one or more regulatory inquiries or regulatory action, which could impede or limit the ability of MetaMask to continue to develop, or which could impede or limit your ability to access or use the Service or Ethereum blockchain.\n\n### 5.4 Risk of Weaknesses or Exploits in the Field of Cryptography ###\n\nYou acknowledge and understand that Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to cryptocurrencies and Services of Content, which could result in the theft or loss of your cryptographic tokens or property. To the extent possible, MetaMask intends to update the protocol underlying Services to account for any advances in cryptography and to incorporate additional security measures, but does not guarantee or otherwise represent full security of the system. By using the Service or accessing Content, you acknowledge these inherent risks.\n\n### 5.5 Volatility of Crypto Currencies ###\n\nYou understand that Ethereum and other blockchain technologies and associated currencies or tokens are highly volatile due to many factors including but not limited to adoption, speculation, technology and security risks. You also acknowledge that the cost of transacting on such technologies is variable and may increase at any time causing impact to any activities taking place on the Ethereum blockchain. You acknowledge these risks and represent that MetaMask cannot be held liable for such fluctuations or increased costs.\n\n### 5.6 Application Security ###\n\nYou acknowledge that Ethereum applications are code subject to flaws and acknowledge that you are solely responsible for evaluating any code provided by the Services or Content and the trustworthiness of any third-party websites, products, smart-contracts, or Content you access or use through the Service. You further expressly acknowledge and represent that Ethereum applications can be written maliciously or negligently, that MetaMask cannot be held liable for your interaction with such applications and that such applications may cause the loss of property or even identity. This warning and others later provided by MetaMask in no way evidence or represent an on-going duty to alert you to all of the potential risks of utilizing the Service or Content.\n\n## 6. Indemnity ##\n\nYou agree to release and to indemnify, defend and hold harmless MetaMask and its parents, subsidiaries, affiliates and agencies, as well as the officers, directors, employees, shareholders and representatives of any of the foregoing entities, from and against any and all losses, liabilities, expenses, damages, costs (including attorneys’ fees and court costs) claims or actions of any kind whatsoever arising or resulting from your use of the Service, your violation of these Terms of Use, and any of your acts or omissions that implicate publicity rights, defamation or invasion of privacy. MetaMask reserves the right, at its own expense, to assume exclusive defense and control of any matter otherwise subject to indemnification by you and, in such case, you agree to cooperate with MetaMask in the defense of such matter.\n\n## 7. Limitation on liability ##\n\nYOU ACKNOWLEDGE AND AGREE THAT YOU ASSUME FULL RESPONSIBILITY FOR YOUR USE OF THE SITE AND SERVICE. YOU ACKNOWLEDGE AND AGREE THAT ANY INFORMATION YOU SEND OR RECEIVE DURING YOUR USE OF THE SITE AND SERVICE MAY NOT BE SECURE AND MAY BE INTERCEPTED OR LATER ACQUIRED BY UNAUTHORIZED PARTIES. YOU ACKNOWLEDGE AND AGREE THAT YOUR USE OF THE SITE AND SERVICE IS AT YOUR OWN RISK. RECOGNIZING SUCH, YOU UNDERSTAND AND AGREE THAT, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER METAMASK NOR ITS SUPPLIERS OR LICENSORS WILL BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER TANGIBLE OR INTANGIBLE LOSSES OR ANY OTHER DAMAGES BASED ON CONTRACT, TORT, STRICT LIABILITY OR ANY OTHER THEORY (EVEN IF METAMASK HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES), RESULTING FROM THE SITE OR SERVICE; THE USE OR THE INABILITY TO USE THE SITE OR SERVICE; UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON THE SITE OR SERVICE; ANY ACTIONS WE TAKE OR FAIL TO TAKE AS A RESULT OF COMMUNICATIONS YOU SEND TO US; HUMAN ERRORS; TECHNICAL MALFUNCTIONS; FAILURES, INCLUDING PUBLIC UTILITY OR TELEPHONE OUTAGES; OMISSIONS, INTERRUPTIONS, LATENCY, DELETIONS OR DEFECTS OF ANY DEVICE OR NETWORK, PROVIDERS, OR SOFTWARE (INCLUDING, BUT NOT LIMITED TO, THOSE THAT DO NOT PERMIT PARTICIPATION IN THE SERVICE); ANY INJURY OR DAMAGE TO COMPUTER EQUIPMENT; INABILITY TO FULLY ACCESS THE SITE OR SERVICE OR ANY OTHER WEBSITE; THEFT, TAMPERING, DESTRUCTION, OR UNAUTHORIZED ACCESS TO, IMAGES OR OTHER CONTENT OF ANY KIND; DATA THAT IS PROCESSED LATE OR INCORRECTLY OR IS INCOMPLETE OR LOST; TYPOGRAPHICAL, PRINTING OR OTHER ERRORS, OR ANY COMBINATION THEREOF; OR ANY OTHER MATTER RELATING TO THE SITE OR SERVICE.\n\nSOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.\n\n## 8. Our Proprietary Rights ##\n\nAll title, ownership and intellectual property rights in and to the Service are owned by MetaMask or its licensors. You acknowledge and agree that the Service contains proprietary and confidential information that is protected by applicable intellectual property and other laws. Except as expressly authorized by MetaMask, you agree not to copy, modify, rent, lease, loan, sell, distribute, perform, display or create derivative works based on the Service, in whole or in part. MetaMask issues a license for MetaMask, found [here](https://github.com/MetaMask/metamask-plugin/blob/master/LICENSE). For information on other licenses utilized in the development of MetaMask, please see our attribution page at: [https://metamask.io/attributions.html](https://metamask.io/attributions.html)\n\n## 9. Links ##\n\nThe Service provides, or third parties may provide, links to other World Wide Web or accessible sites, applications or resources. Because MetaMask has no control over such sites, applications and resources, you acknowledge and agree that MetaMask is not responsible for the availability of such external sites, applications or resources, and does not endorse and is not responsible or liable for any content, advertising, products or other materials on or available from such sites or resources. You further acknowledge and agree that MetaMask shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such site or resource.\n\n## 10. Termination and Suspension ##\n\nMetaMask may terminate or suspend all or part of the Service and your MetaMask access immediately, without prior notice or liability, if you breach any of the terms or conditions of the Terms. Upon termination of your access, your right to use the Service will immediately cease.\n\nThe following provisions of the Terms survive any termination of these Terms: INDEMNITY; WARRANTY DISCLAIMERS; LIMITATION ON LIABILITY; OUR PROPRIETARY RIGHTS; LINKS; TERMINATION; NO THIRD PARTY BENEFICIARIES; BINDING ARBITRATION AND CLASS ACTION WAIVER; GENERAL INFORMATION.\n\n## 11. No Third Party Beneficiaries ##\n\nYou agree that, except as otherwise expressly provided in these Terms, there shall be no third party beneficiaries to the Terms.\n\n## 12. Notice and Procedure For Making Claims of Copyright Infringement ##\n\nIf you believe that your copyright or the copyright of a person on whose behalf you are authorized to act has been infringed, please provide MetaMask’s Copyright Agent a written Notice containing the following information:\n\n· an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright or other intellectual property interest;\n\n· a description of the copyrighted work or other intellectual property that you claim has been infringed;\n\n· a description of where the material that you claim is infringing is located on the Service;\n\n· your address, telephone number, and email address;\n\n· a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;\n\n· a statement by you, made under penalty of perjury, that the above information in your Notice is accurate and that you are the copyright or intellectual property owner or authorized to act on the copyright or intellectual property owner's behalf.\n\nMetaMask’s Copyright Agent can be reached at:\n\nEmail: copyright [at] metamask [dot] io\n\nMail:\n\nAttention:\n\nMetaMask Copyright ℅ ConsenSys\n\n49 Bogart Street\n\nBrooklyn, NY 11206\n\n## 13. Binding Arbitration and Class Action Waiver ##\n\nPLEASE READ THIS SECTION CAREFULLY – IT MAY SIGNIFICANTLY AFFECT YOUR LEGAL RIGHTS, INCLUDING YOUR RIGHT TO FILE A LAWSUIT IN COURT\n\n### 13.1 Initial Dispute Resolution ###\n\nThe parties shall use their best efforts to engage directly to settle any dispute, claim, question, or disagreement and engage in good faith negotiations which shall be a condition to either party initiating a lawsuit or arbitration.\n\n### 13.2 Binding Arbitration ###\n\nIf the parties do not reach an agreed upon solution within a period of 30 days from the time informal dispute resolution under the Initial Dispute Resolution provision begins, then either party may initiate binding arbitration as the sole means to resolve claims, subject to the terms set forth below. Specifically, all claims arising out of or relating to these Terms (including their formation, performance and breach), the parties’ relationship with each other and/or your use of the Service shall be finally settled by binding arbitration administered by the American Arbitration Association in accordance with the provisions of its Commercial Arbitration Rules and the supplementary procedures for consumer related disputes of the American Arbitration Association (the \"AAA\"), excluding any rules or procedures governing or permitting class actions.\n\nThe arbitrator, and not any federal, state or local court or agency, shall have exclusive authority to resolve all disputes arising out of or relating to the interpretation, applicability, enforceability or formation of these Terms, including, but not limited to any claim that all or any part of these Terms are void or voidable, or whether a claim is subject to arbitration. The arbitrator shall be empowered to grant whatever relief would be available in a court under law or in equity. The arbitrator’s award shall be written, and binding on the parties and may be entered as a judgment in any court of competent jurisdiction.\n\nThe parties understand that, absent this mandatory provision, they would have the right to sue in court and have a jury trial. They further understand that, in some instances, the costs of arbitration could exceed the costs of litigation and the right to discovery may be more limited in arbitration than in court.\n\n### 13.3 Location ###\n\nBinding arbitration shall take place in New York. You agree to submit to the personal jurisdiction of any federal or state court in New York County, New York, in order to compel arbitration, to stay proceedings pending arbitration, or to confirm, modify, vacate or enter judgment on the award entered by the arbitrator.\n\n### 13.4 Class Action Waiver ###\n\nThe parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis. YOU AND METAMASK AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. If any court or arbitrator determines that the class action waiver set forth in this paragraph is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void in its entirety and the parties shall be deemed to have not agreed to arbitrate disputes.\n\n### 13.5 Exception - Litigation of Intellectual Property and Small Claims Court Claims ###\n\nNotwithstanding the parties' decision to resolve all disputes through arbitration, either party may bring an action in state or federal court to protect its intellectual property rights (\"intellectual property rights\" means patents, copyrights, moral rights, trademarks, and trade secrets, but not privacy or publicity rights). Either party may also seek relief in a small claims court for disputes or claims within the scope of that court’s jurisdiction.\n\n### 13.6 30-Day Right to Opt Out ###\n\nYou have the right to opt-out and not be bound by the arbitration and class action waiver provisions set forth above by sending written notice of your decision to opt-out to the following address: MetaMask ℅ ConsenSys, 49 Bogart Street, Brooklyn NY 11206 and via email at support@metamask.io. The notice must be sent within 30 days of September 6, 2016 or your first use of the Service, whichever is later, otherwise you shall be bound to arbitrate disputes in accordance with the terms of those paragraphs. If you opt-out of these arbitration provisions, MetaMask also will not be bound by them.\n\n### 13.7 Changes to This Section ###\n\nMetaMask will provide 60-days’ notice of any changes to this section. Changes will become effective on the 60th day, and will apply prospectively only to any claims arising after the 60th day.\n\nFor any dispute not subject to arbitration you and MetaMask agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, New York. You further agree to accept service of process by mail, and hereby waive any and all jurisdictional and venue defenses otherwise available.\n\nThe Terms and the relationship between you and MetaMask shall be governed by the laws of the State of New York without regard to conflict of law provisions.\n\n## 14. General Information ##\n\n### 14.1 Entire Agreement ###\n\nThese Terms (and any additional terms, rules and conditions of participation that MetaMask may post on the Service) constitute the entire agreement between you and MetaMask with respect to the Service and supersedes any prior agreements, oral or written, between you and MetaMask. In the event of a conflict between these Terms and the additional terms, rules and conditions of participation, the latter will prevail over the Terms to the extent of the conflict.\n\n### 14.2 Waiver and Severability of Terms ###\n\nThe failure of MetaMask to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. If any provision of the Terms is found by an arbitrator or court of competent jurisdiction to be invalid, the parties nevertheless agree that the arbitrator or court should endeavor to give effect to the parties' intentions as reflected in the provision, and the other provisions of the Terms remain in full force and effect.\n\n### 14.3 Statute of Limitations ###\n\nYou agree that regardless of any statute or law to the contrary, any claim or cause of action arising out of or related to the use of the Service or the Terms must be filed within one (1) year after such claim or cause of action arose or be forever barred.\n\n### 14.4 Section Titles ###\n\nThe section titles in the Terms are for convenience only and have no legal or contractual effect.\n\n### 14.5 Communications ###\n\nUsers with questions, complaints or claims with respect to the Service may contact us using the relevant contact information set forth above and at communications@metamask.io.\n\n## 15 Related Links ##\n\n**[Terms of Use](https://metamask.io/terms.html)**\n\n**[Privacy](https://metamask.io/privacy.html)**\n\n**[Attributions](https://metamask.io/attributions.html)**\n\n", + "body": "# Terms of Use #\n\n**THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION AND A WAIVER OF CLASS ACTION RIGHTS AS DETAILED IN SECTION 13. PLEASE READ THE AGREEMENT CAREFULLY.**\n\n_Our Terms of Use have been updated as of September 5, 2016_\n\n## 1. Acceptance of Terms ##\n\nMetaMask provides a platform for managing Ethereum (or \"ETH\") accounts, and allowing ordinary websites to interact with the Ethereum blockchain, while keeping the user in control over what transactions they approve, through our website located at[ ](http://metamask.io)[https://metamask.io/](https://metamask.io/) and browser plugin (the \"Site\") — which includes text, images, audio, code and other materials (collectively, the “Content”) and all of the features, and services provided. The Site, and any other features, tools, materials, or other services offered from time to time by MetaMask are referred to here as the “Service.” Please read these Terms of Use (the “Terms” or “Terms of Use”) carefully before using the Service. By using or otherwise accessing the Services, or clicking to accept or agree to these Terms where that option is made available, you (1) accept and agree to these Terms (2) consent to the collection, use, disclosure and other handling of information as described in our Privacy Policy and (3) any additional terms, rules and conditions of participation issued by MetaMask from time to time. If you do not agree to the Terms, then you may not access or use the Content or Services.\n\n## 2. Modification of Terms of Use ##\n\nExcept for Section 13, providing for binding arbitration and waiver of class action rights, MetaMask reserves the right, at its sole discretion, to modify or replace the Terms of Use at any time. The most current version of these Terms will be posted on our Site. You shall be responsible for reviewing and becoming familiar with any such modifications. Use of the Services by you after any modification to the Terms constitutes your acceptance of the Terms of Use as modified.\n\n\n\n## 3. Eligibility ##\n\nYou hereby represent and warrant that you are fully able and competent to enter into the terms, conditions, obligations, affirmations, representations and warranties set forth in these Terms and to abide by and comply with these Terms.\n\nMetaMask is a global platform and by accessing the Content or Services, you are representing and warranting that, you are of the legal age of majority in your jurisdiction as is required to access such Services and Content and enter into arrangements as provided by the Service. You further represent that you are otherwise legally permitted to use the service in your jurisdiction including owning cryptographic tokens of value, and interacting with the Services or Content in any way. You further represent you are responsible for ensuring compliance with the laws of your jurisdiction and acknowledge that MetaMask is not liable for your compliance with such laws.\n\n## 4 Account Password and Security ##\n\nWhen setting up an account within MetaMask, you will be responsible for keeping your own account secrets, which may be a twelve-word seed phrase, an account file, or other locally stored secret information. MetaMask encrypts this information locally with a password you provide, that we never send to our servers. You agree to (a) never use the same password for MetaMask that you have ever used outside of this service; (b) keep your secret information and password confidential and do not share them with anyone else; (c) immediately notify MetaMask of any unauthorized use of your account or breach of security. MetaMask cannot and will not be liable for any loss or damage arising from your failure to comply with this section.\n\n## 5. Representations, Warranties, and Risks ##\n\n### 5.1. Warranty Disclaimer ###\n\nYou expressly understand and agree that your use of the Service is at your sole risk. The Service (including the Service and the Content) are provided on an \"AS IS\" and \"as available\" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose or non-infringement. You acknowledge that MetaMask has no control over, and no duty to take any action regarding: which users gain access to or use the Service; what effects the Content may have on you; how you may interpret or use the Content; or what actions you may take as a result of having been exposed to the Content. You release MetaMask from all liability for you having acquired or not acquired Content through the Service. MetaMask makes no representations concerning any Content contained in or accessed through the Service, and MetaMask will not be responsible or liable for the accuracy, copyright compliance, legality or decency of material contained in or accessed through the Service.\n\n### 5.2 Sophistication and Risk of Cryptographic Systems ###\n\nBy utilizing the Service or interacting with the Content or platform in any way, you represent that you understand the inherent risks associated with cryptographic systems; and warrant that you have an understanding of the usage and intricacies of native cryptographic tokens, like Ether (ETH) and Bitcoin (BTC), smart contract based tokens such as those that follow the Ethereum Token Standard (https://github.com/ethereum/EIPs/issues/20), and blockchain-based software systems.\n\n### 5.3 Risk of Regulatory Actions in One or More Jurisdictions ###\n\nMetaMask and ETH could be impacted by one or more regulatory inquiries or regulatory action, which could impede or limit the ability of MetaMask to continue to develop, or which could impede or limit your ability to access or use the Service or Ethereum blockchain.\n\n### 5.4 Risk of Weaknesses or Exploits in the Field of Cryptography ###\n\nYou acknowledge and understand that Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to cryptocurrencies and Services of Content, which could result in the theft or loss of your cryptographic tokens or property. To the extent possible, MetaMask intends to update the protocol underlying Services to account for any advances in cryptography and to incorporate additional security measures, but does not guarantee or otherwise represent full security of the system. By using the Service or accessing Content, you acknowledge these inherent risks.\n\n### 5.5 Volatility of Crypto Currencies ###\n\nYou understand that Ethereum and other blockchain technologies and associated currencies or tokens are highly volatile due to many factors including but not limited to adoption, speculation, technology and security risks. You also acknowledge that the cost of transacting on such technologies is variable and may increase at any time causing impact to any activities taking place on the Ethereum blockchain. You acknowledge these risks and represent that MetaMask cannot be held liable for such fluctuations or increased costs.\n\n### 5.6 Application Security ###\n\nYou acknowledge that Ethereum applications are code subject to flaws and acknowledge that you are solely responsible for evaluating any code provided by the Services or Content and the trustworthiness of any third-party websites, products, smart-contracts, or Content you access or use through the Service. You further expressly acknowledge and represent that Ethereum applications can be written maliciously or negligently, that MetaMask cannot be held liable for your interaction with such applications and that such applications may cause the loss of property or even identity. This warning and others later provided by MetaMask in no way evidence or represent an on-going duty to alert you to all of the potential risks of utilizing the Service or Content.\n\n## 6. Indemnity ##\n\nYou agree to release and to indemnify, defend and hold harmless MetaMask and its parents, subsidiaries, affiliates and agencies, as well as the officers, directors, employees, shareholders and representatives of any of the foregoing entities, from and against any and all losses, liabilities, expenses, damages, costs (including attorneys’ fees and court costs) claims or actions of any kind whatsoever arising or resulting from your use of the Service, your violation of these Terms of Use, and any of your acts or omissions that implicate publicity rights, defamation or invasion of privacy. MetaMask reserves the right, at its own expense, to assume exclusive defense and control of any matter otherwise subject to indemnification by you and, in such case, you agree to cooperate with MetaMask in the defense of such matter.\n\n## 7. Limitation on liability ##\n\nYOU ACKNOWLEDGE AND AGREE THAT YOU ASSUME FULL RESPONSIBILITY FOR YOUR USE OF THE SITE AND SERVICE. YOU ACKNOWLEDGE AND AGREE THAT ANY INFORMATION YOU SEND OR RECEIVE DURING YOUR USE OF THE SITE AND SERVICE MAY NOT BE SECURE AND MAY BE INTERCEPTED OR LATER ACQUIRED BY UNAUTHORIZED PARTIES. YOU ACKNOWLEDGE AND AGREE THAT YOUR USE OF THE SITE AND SERVICE IS AT YOUR OWN RISK. RECOGNIZING SUCH, YOU UNDERSTAND AND AGREE THAT, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER METAMASK NOR ITS SUPPLIERS OR LICENSORS WILL BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER TANGIBLE OR INTANGIBLE LOSSES OR ANY OTHER DAMAGES BASED ON CONTRACT, TORT, STRICT LIABILITY OR ANY OTHER THEORY (EVEN IF METAMASK HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES), RESULTING FROM THE SITE OR SERVICE; THE USE OR THE INABILITY TO USE THE SITE OR SERVICE; UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON THE SITE OR SERVICE; ANY ACTIONS WE TAKE OR FAIL TO TAKE AS A RESULT OF COMMUNICATIONS YOU SEND TO US; HUMAN ERRORS; TECHNICAL MALFUNCTIONS; FAILURES, INCLUDING PUBLIC UTILITY OR TELEPHONE OUTAGES; OMISSIONS, INTERRUPTIONS, LATENCY, DELETIONS OR DEFECTS OF ANY DEVICE OR NETWORK, PROVIDERS, OR SOFTWARE (INCLUDING, BUT NOT LIMITED TO, THOSE THAT DO NOT PERMIT PARTICIPATION IN THE SERVICE); ANY INJURY OR DAMAGE TO COMPUTER EQUIPMENT; INABILITY TO FULLY ACCESS THE SITE OR SERVICE OR ANY OTHER WEBSITE; THEFT, TAMPERING, DESTRUCTION, OR UNAUTHORIZED ACCESS TO, IMAGES OR OTHER CONTENT OF ANY KIND; DATA THAT IS PROCESSED LATE OR INCORRECTLY OR IS INCOMPLETE OR LOST; TYPOGRAPHICAL, PRINTING OR OTHER ERRORS, OR ANY COMBINATION THEREOF; OR ANY OTHER MATTER RELATING TO THE SITE OR SERVICE.\n\nSOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.\n\n## 8. Our Proprietary Rights ##\n\nAll title, ownership and intellectual property rights in and to the Service are owned by MetaMask or its licensors. You acknowledge and agree that the Service contains proprietary and confidential information that is protected by applicable intellectual property and other laws. Except as expressly authorized by MetaMask, you agree not to copy, modify, rent, lease, loan, sell, distribute, perform, display or create derivative works based on the Service, in whole or in part. MetaMask issues a license for MetaMask, found [here](https://github.com/MetaMask/metamask-plugin/blob/master/LICENSE). For information on other licenses utilized in the development of MetaMask, please see our attribution page at: [https://metamask.io/attributions.html](https://metamask.io/attributions.html)\n\n## 9. Links ##\n\nThe Service provides, or third parties may provide, links to other World Wide Web or accessible sites, applications or resources. Because MetaMask has no control over such sites, applications and resources, you acknowledge and agree that MetaMask is not responsible for the availability of such external sites, applications or resources, and does not endorse and is not responsible or liable for any content, advertising, products or other materials on or available from such sites or resources. You further acknowledge and agree that MetaMask shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such site or resource.\n\n## 10. Termination and Suspension ##\n\nMetaMask may terminate or suspend all or part of the Service and your MetaMask access immediately, without prior notice or liability, if you breach any of the terms or conditions of the Terms. Upon termination of your access, your right to use the Service will immediately cease.\n\nThe following provisions of the Terms survive any termination of these Terms: INDEMNITY; WARRANTY DISCLAIMERS; LIMITATION ON LIABILITY; OUR PROPRIETARY RIGHTS; LINKS; TERMINATION; NO THIRD PARTY BENEFICIARIES; BINDING ARBITRATION AND CLASS ACTION WAIVER; GENERAL INFORMATION.\n\n## 11. No Third Party Beneficiaries ##\n\nYou agree that, except as otherwise expressly provided in these Terms, there shall be no third party beneficiaries to the Terms.\n\n## 12. Notice and Procedure For Making Claims of Copyright Infringement ##\n\nIf you believe that your copyright or the copyright of a person on whose behalf you are authorized to act has been infringed, please provide MetaMask’s Copyright Agent a written Notice containing the following information:\n\n· an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright or other intellectual property interest;\n\n· a description of the copyrighted work or other intellectual property that you claim has been infringed;\n\n· a description of where the material that you claim is infringing is located on the Service;\n\n· your address, telephone number, and email address;\n\n· a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;\n\n· a statement by you, made under penalty of perjury, that the above information in your Notice is accurate and that you are the copyright or intellectual property owner or authorized to act on the copyright or intellectual property owner's behalf.\n\nMetaMask’s Copyright Agent can be reached at:\n\nEmail: copyright [at] metamask [dot] io\n\nMail:\n\nAttention:\n\nMetaMask Copyright ℅ ConsenSys\n\n49 Bogart Street\n\nBrooklyn, NY 11206\n\n## 13. Binding Arbitration and Class Action Waiver ##\n\nPLEASE READ THIS SECTION CAREFULLY – IT MAY SIGNIFICANTLY AFFECT YOUR LEGAL RIGHTS, INCLUDING YOUR RIGHT TO FILE A LAWSUIT IN COURT\n\n### 13.1 Initial Dispute Resolution ###\n\nThe parties shall use their best efforts to engage directly to settle any dispute, claim, question, or disagreement and engage in good faith negotiations which shall be a condition to either party initiating a lawsuit or arbitration.\n\n### 13.2 Binding Arbitration ###\n\nIf the parties do not reach an agreed upon solution within a period of 30 days from the time informal dispute resolution under the Initial Dispute Resolution provision begins, then either party may initiate binding arbitration as the sole means to resolve claims, subject to the terms set forth below. Specifically, all claims arising out of or relating to these Terms (including their formation, performance and breach), the parties’ relationship with each other and/or your use of the Service shall be finally settled by binding arbitration administered by the American Arbitration Association in accordance with the provisions of its Commercial Arbitration Rules and the supplementary procedures for consumer related disputes of the American Arbitration Association (the \"AAA\"), excluding any rules or procedures governing or permitting class actions.\n\nThe arbitrator, and not any federal, state or local court or agency, shall have exclusive authority to resolve all disputes arising out of or relating to the interpretation, applicability, enforceability or formation of these Terms, including, but not limited to any claim that all or any part of these Terms are void or voidable, or whether a claim is subject to arbitration. The arbitrator shall be empowered to grant whatever relief would be available in a court under law or in equity. The arbitrator’s award shall be written, and binding on the parties and may be entered as a judgment in any court of competent jurisdiction.\n\nThe parties understand that, absent this mandatory provision, they would have the right to sue in court and have a jury trial. They further understand that, in some instances, the costs of arbitration could exceed the costs of litigation and the right to discovery may be more limited in arbitration than in court.\n\n### 13.3 Location ###\n\nBinding arbitration shall take place in New York. You agree to submit to the personal jurisdiction of any federal or state court in New York County, New York, in order to compel arbitration, to stay proceedings pending arbitration, or to confirm, modify, vacate or enter judgment on the award entered by the arbitrator.\n\n### 13.4 Class Action Waiver ###\n\nThe parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis. YOU AND METAMASK AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. If any court or arbitrator determines that the class action waiver set forth in this paragraph is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void in its entirety and the parties shall be deemed to have not agreed to arbitrate disputes.\n\n### 13.5 Exception - Litigation of Intellectual Property and Small Claims Court Claims ###\n\nNotwithstanding the parties' decision to resolve all disputes through arbitration, either party may bring an action in state or federal court to protect its intellectual property rights (\"intellectual property rights\" means patents, copyrights, moral rights, trademarks, and trade secrets, but not privacy or publicity rights). Either party may also seek relief in a small claims court for disputes or claims within the scope of that court’s jurisdiction.\n\n### 13.6 30-Day Right to Opt Out ###\n\nYou have the right to opt-out and not be bound by the arbitration and class action waiver provisions set forth above by sending written notice of your decision to opt-out to the following address: MetaMask ℅ ConsenSys, 49 Bogart Street, Brooklyn NY 11206 and via email at portal@conflux-chain.org. The notice must be sent within 30 days of September 6, 2016 or your first use of the Service, whichever is later, otherwise you shall be bound to arbitrate disputes in accordance with the terms of those paragraphs. If you opt-out of these arbitration provisions, MetaMask also will not be bound by them.\n\n### 13.7 Changes to This Section ###\n\nMetaMask will provide 60-days’ notice of any changes to this section. Changes will become effective on the 60th day, and will apply prospectively only to any claims arising after the 60th day.\n\nFor any dispute not subject to arbitration you and MetaMask agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, New York. You further agree to accept service of process by mail, and hereby waive any and all jurisdictional and venue defenses otherwise available.\n\nThe Terms and the relationship between you and MetaMask shall be governed by the laws of the State of New York without regard to conflict of law provisions.\n\n## 14. General Information ##\n\n### 14.1 Entire Agreement ###\n\nThese Terms (and any additional terms, rules and conditions of participation that MetaMask may post on the Service) constitute the entire agreement between you and MetaMask with respect to the Service and supersedes any prior agreements, oral or written, between you and MetaMask. In the event of a conflict between these Terms and the additional terms, rules and conditions of participation, the latter will prevail over the Terms to the extent of the conflict.\n\n### 14.2 Waiver and Severability of Terms ###\n\nThe failure of MetaMask to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. If any provision of the Terms is found by an arbitrator or court of competent jurisdiction to be invalid, the parties nevertheless agree that the arbitrator or court should endeavor to give effect to the parties' intentions as reflected in the provision, and the other provisions of the Terms remain in full force and effect.\n\n### 14.3 Statute of Limitations ###\n\nYou agree that regardless of any statute or law to the contrary, any claim or cause of action arising out of or related to the use of the Service or the Terms must be filed within one (1) year after such claim or cause of action arose or be forever barred.\n\n### 14.4 Section Titles ###\n\nThe section titles in the Terms are for convenience only and have no legal or contractual effect.\n\n### 14.5 Communications ###\n\nUsers with questions, complaints or claims with respect to the Service may contact us using the relevant contact information set forth above and at communications@metamask.io.\n\n## 15 Related Links ##\n\n**[Terms of Use](https://metamask.io/terms.html)**\n\n**[Privacy](https://metamask.io/privacy.html)**\n\n**[Attributions](https://metamask.io/attributions.html)**\n\n", "id": 0 }, "network": "3", diff --git a/test/e2e/address-book.spec.js b/test/e2e/address-book.spec.js index 01117549721c..0abbcb42e43a 100644 --- a/test/e2e/address-book.spec.js +++ b/test/e2e/address-book.spec.js @@ -206,7 +206,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') await driver.delay(regularDelayMs) diff --git a/test/e2e/contract-test/contract.js b/test/e2e/contract-test/contract.js index 4941698cf548..3de93a16ee36 100644 --- a/test/e2e/contract-test/contract.js +++ b/test/e2e/contract-test/contract.js @@ -693,7 +693,7 @@ const initialize = () => { from: accounts[0], to: accounts[0], data: signedData, - gas: 21000, + gas: 26000, gasPrice: 10000000000, }) .confirmed() diff --git a/test/e2e/contract-test/index.html b/test/e2e/contract-test/index.html index ca53cd5f3ce7..88566c7ca2b1 100644 --- a/test/e2e/contract-test/index.html +++ b/test/e2e/contract-test/index.html @@ -52,7 +52,7 @@

Send Tokens

Get Accounts

- +
diff --git a/test/e2e/from-import-ui.spec.js b/test/e2e/from-import-ui.spec.js index 522156eb1cda..68510e2f46bc 100644 --- a/test/e2e/from-import-ui.spec.js +++ b/test/e2e/from-import-ui.spec.js @@ -223,7 +223,7 @@ describe('Using MetaMask with an existing account', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') diff --git a/test/e2e/metamask-responsive-ui.spec.js b/test/e2e/metamask-responsive-ui.spec.js index 6874aa1b75e3..5cd28d1d16f3 100644 --- a/test/e2e/metamask-responsive-ui.spec.js +++ b/test/e2e/metamask-responsive-ui.spec.js @@ -229,7 +229,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index 70d47bdfafed..b54b765be57f 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -278,7 +278,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') @@ -363,7 +363,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') @@ -415,7 +415,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') @@ -1186,7 +1186,7 @@ describe('MetaMask', function () { await driver.delay(1000) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') diff --git a/test/e2e/permissions.spec.js b/test/e2e/permissions.spec.js index fa48813af542..eca171ff837c 100644 --- a/test/e2e/permissions.spec.js +++ b/test/e2e/permissions.spec.js @@ -190,7 +190,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) await driver.clickElement( - By.xpath(`//button[contains(text(), 'eth_accounts')]`) + By.xpath(`//button[contains(text(), 'cfx_accounts')]`) ) const getAccountsResult = await driver.findElement( @@ -222,7 +222,7 @@ describe('MetaMask', function () { await driver.delay(regularDelayMs) await driver.clickElement( - By.xpath(`//button[contains(text(), 'eth_accounts')]`) + By.xpath(`//button[contains(text(), 'cfx_accounts')]`) ) const getAccountsResult = await driver.findElement( diff --git a/test/e2e/send-edit.spec.js b/test/e2e/send-edit.spec.js index 2396fed24d8a..fa9254239f12 100644 --- a/test/e2e/send-edit.spec.js +++ b/test/e2e/send-edit.spec.js @@ -117,7 +117,7 @@ describe('Using MetaMask with an existing account', function () { await driver.delay(regularDelayMs) const inputAddress = await driver.findElement( - By.css('input[placeholder="Search, public address (0x), or ENS"]') + By.css('input[placeholder="Search, public address (0x)"]') ) await inputAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970') diff --git a/test/e2e/webdriver/chrome.js b/test/e2e/webdriver/chrome.js index afebaef3260c..3ba4bc0a8658 100644 --- a/test/e2e/webdriver/chrome.js +++ b/test/e2e/webdriver/chrome.js @@ -21,7 +21,7 @@ class ChromeDriver { } const driver = builder.build() const chromeDriver = new ChromeDriver(driver) - const extensionId = await chromeDriver.getExtensionIdByName('ConfluxPortal') + const extensionId = await chromeDriver.getExtensionIdByName('Conflux Portal') return { driver, diff --git a/test/lib/migrations/002.json b/test/lib/migrations/002.json index 02b0c7a0a362..c5de5a08aa62 100644 --- a/test/lib/migrations/002.json +++ b/test/lib/migrations/002.json @@ -16,7 +16,7 @@ "read": false, "date": "Thu Feb 09 2017", "title": "Terms of Use", - "body": "# Terms of Use #\n\n**THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION AND A WAIVER OF CLASS ACTION RIGHTS AS DETAILED IN SECTION 13. PLEASE READ THE AGREEMENT CAREFULLY.**\n\n_Our Terms of Use have been updated as of September 5, 2016_\n\n## 1. Acceptance of Terms ##\n\nMetaMask provides a platform for managing Ethereum (or \"ETH\") accounts, and allowing ordinary websites to interact with the Ethereum blockchain, while keeping the user in control over what transactions they approve, through our website located at[ ](http://metamask.io)[https://metamask.io/](https://metamask.io/) and browser plugin (the \"Site\") — which includes text, images, audio, code and other materials (collectively, the “Content”) and all of the features, and services provided. The Site, and any other features, tools, materials, or other services offered from time to time by MetaMask are referred to here as the “Service.” Please read these Terms of Use (the “Terms” or “Terms of Use”) carefully before using the Service. By using or otherwise accessing the Services, or clicking to accept or agree to these Terms where that option is made available, you (1) accept and agree to these Terms (2) consent to the collection, use, disclosure and other handling of information as described in our Privacy Policy and (3) any additional terms, rules and conditions of participation issued by MetaMask from time to time. If you do not agree to the Terms, then you may not access or use the Content or Services.\n\n## 2. Modification of Terms of Use ##\n\nExcept for Section 13, providing for binding arbitration and waiver of class action rights, MetaMask reserves the right, at its sole discretion, to modify or replace the Terms of Use at any time. The most current version of these Terms will be posted on our Site. You shall be responsible for reviewing and becoming familiar with any such modifications. Use of the Services by you after any modification to the Terms constitutes your acceptance of the Terms of Use as modified.\n\n\n\n## 3. Eligibility ##\n\nYou hereby represent and warrant that you are fully able and competent to enter into the terms, conditions, obligations, affirmations, representations and warranties set forth in these Terms and to abide by and comply with these Terms.\n\nMetaMask is a global platform and by accessing the Content or Services, you are representing and warranting that, you are of the legal age of majority in your jurisdiction as is required to access such Services and Content and enter into arrangements as provided by the Service. You further represent that you are otherwise legally permitted to use the service in your jurisdiction including owning cryptographic tokens of value, and interacting with the Services or Content in any way. You further represent you are responsible for ensuring compliance with the laws of your jurisdiction and acknowledge that MetaMask is not liable for your compliance with such laws.\n\n## 4 Account Password and Security ##\n\nWhen setting up an account within MetaMask, you will be responsible for keeping your own account secrets, which may be a twelve-word seed phrase, an account file, or other locally stored secret information. MetaMask encrypts this information locally with a password you provide, that we never send to our servers. You agree to (a) never use the same password for MetaMask that you have ever used outside of this service; (b) keep your secret information and password confidential and do not share them with anyone else; (c) immediately notify MetaMask of any unauthorized use of your account or breach of security. MetaMask cannot and will not be liable for any loss or damage arising from your failure to comply with this section.\n\n## 5. Representations, Warranties, and Risks ##\n\n### 5.1. Warranty Disclaimer ###\n\nYou expressly understand and agree that your use of the Service is at your sole risk. The Service (including the Service and the Content) are provided on an \"AS IS\" and \"as available\" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose or non-infringement. You acknowledge that MetaMask has no control over, and no duty to take any action regarding: which users gain access to or use the Service; what effects the Content may have on you; how you may interpret or use the Content; or what actions you may take as a result of having been exposed to the Content. You release MetaMask from all liability for you having acquired or not acquired Content through the Service. MetaMask makes no representations concerning any Content contained in or accessed through the Service, and MetaMask will not be responsible or liable for the accuracy, copyright compliance, legality or decency of material contained in or accessed through the Service.\n\n### 5.2 Sophistication and Risk of Cryptographic Systems ###\n\nBy utilizing the Service or interacting with the Content or platform in any way, you represent that you understand the inherent risks associated with cryptographic systems; and warrant that you have an understanding of the usage and intricacies of native cryptographic tokens, like Ether (ETH) and Bitcoin (BTC), smart contract based tokens such as those that follow the Ethereum Token Standard (https://github.com/ethereum/EIPs/issues/20), and blockchain-based software systems.\n\n### 5.3 Risk of Regulatory Actions in One or More Jurisdictions ###\n\nMetaMask and ETH could be impacted by one or more regulatory inquiries or regulatory action, which could impede or limit the ability of MetaMask to continue to develop, or which could impede or limit your ability to access or use the Service or Ethereum blockchain.\n\n### 5.4 Risk of Weaknesses or Exploits in the Field of Cryptography ###\n\nYou acknowledge and understand that Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to cryptocurrencies and Services of Content, which could result in the theft or loss of your cryptographic tokens or property. To the extent possible, MetaMask intends to update the protocol underlying Services to account for any advances in cryptography and to incorporate additional security measures, but does not guarantee or otherwise represent full security of the system. By using the Service or accessing Content, you acknowledge these inherent risks.\n\n### 5.5 Volatility of Crypto Currencies ###\n\nYou understand that Ethereum and other blockchain technologies and associated currencies or tokens are highly volatile due to many factors including but not limited to adoption, speculation, technology and security risks. You also acknowledge that the cost of transacting on such technologies is variable and may increase at any time causing impact to any activities taking place on the Ethereum blockchain. You acknowledge these risks and represent that MetaMask cannot be held liable for such fluctuations or increased costs.\n\n### 5.6 Application Security ###\n\nYou acknowledge that Ethereum applications are code subject to flaws and acknowledge that you are solely responsible for evaluating any code provided by the Services or Content and the trustworthiness of any third-party websites, products, smart-contracts, or Content you access or use through the Service. You further expressly acknowledge and represent that Ethereum applications can be written maliciously or negligently, that MetaMask cannot be held liable for your interaction with such applications and that such applications may cause the loss of property or even identity. This warning and others later provided by MetaMask in no way evidence or represent an on-going duty to alert you to all of the potential risks of utilizing the Service or Content.\n\n## 6. Indemnity ##\n\nYou agree to release and to indemnify, defend and hold harmless MetaMask and its parents, subsidiaries, affiliates and agencies, as well as the officers, directors, employees, shareholders and representatives of any of the foregoing entities, from and against any and all losses, liabilities, expenses, damages, costs (including attorneys’ fees and court costs) claims or actions of any kind whatsoever arising or resulting from your use of the Service, your violation of these Terms of Use, and any of your acts or omissions that implicate publicity rights, defamation or invasion of privacy. MetaMask reserves the right, at its own expense, to assume exclusive defense and control of any matter otherwise subject to indemnification by you and, in such case, you agree to cooperate with MetaMask in the defense of such matter.\n\n## 7. Limitation on liability ##\n\nYOU ACKNOWLEDGE AND AGREE THAT YOU ASSUME FULL RESPONSIBILITY FOR YOUR USE OF THE SITE AND SERVICE. YOU ACKNOWLEDGE AND AGREE THAT ANY INFORMATION YOU SEND OR RECEIVE DURING YOUR USE OF THE SITE AND SERVICE MAY NOT BE SECURE AND MAY BE INTERCEPTED OR LATER ACQUIRED BY UNAUTHORIZED PARTIES. YOU ACKNOWLEDGE AND AGREE THAT YOUR USE OF THE SITE AND SERVICE IS AT YOUR OWN RISK. RECOGNIZING SUCH, YOU UNDERSTAND AND AGREE THAT, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER METAMASK NOR ITS SUPPLIERS OR LICENSORS WILL BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER TANGIBLE OR INTANGIBLE LOSSES OR ANY OTHER DAMAGES BASED ON CONTRACT, TORT, STRICT LIABILITY OR ANY OTHER THEORY (EVEN IF METAMASK HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES), RESULTING FROM THE SITE OR SERVICE; THE USE OR THE INABILITY TO USE THE SITE OR SERVICE; UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON THE SITE OR SERVICE; ANY ACTIONS WE TAKE OR FAIL TO TAKE AS A RESULT OF COMMUNICATIONS YOU SEND TO US; HUMAN ERRORS; TECHNICAL MALFUNCTIONS; FAILURES, INCLUDING PUBLIC UTILITY OR TELEPHONE OUTAGES; OMISSIONS, INTERRUPTIONS, LATENCY, DELETIONS OR DEFECTS OF ANY DEVICE OR NETWORK, PROVIDERS, OR SOFTWARE (INCLUDING, BUT NOT LIMITED TO, THOSE THAT DO NOT PERMIT PARTICIPATION IN THE SERVICE); ANY INJURY OR DAMAGE TO COMPUTER EQUIPMENT; INABILITY TO FULLY ACCESS THE SITE OR SERVICE OR ANY OTHER WEBSITE; THEFT, TAMPERING, DESTRUCTION, OR UNAUTHORIZED ACCESS TO, IMAGES OR OTHER CONTENT OF ANY KIND; DATA THAT IS PROCESSED LATE OR INCORRECTLY OR IS INCOMPLETE OR LOST; TYPOGRAPHICAL, PRINTING OR OTHER ERRORS, OR ANY COMBINATION THEREOF; OR ANY OTHER MATTER RELATING TO THE SITE OR SERVICE.\n\nSOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.\n\n## 8. Our Proprietary Rights ##\n\nAll title, ownership and intellectual property rights in and to the Service are owned by MetaMask or its licensors. You acknowledge and agree that the Service contains proprietary and confidential information that is protected by applicable intellectual property and other laws. Except as expressly authorized by MetaMask, you agree not to copy, modify, rent, lease, loan, sell, distribute, perform, display or create derivative works based on the Service, in whole or in part. MetaMask issues a license for MetaMask, found [here](https://github.com/MetaMask/metamask-plugin/blob/master/LICENSE). For information on other licenses utilized in the development of MetaMask, please see our attribution page at: [https://metamask.io/attributions.html](https://metamask.io/attributions.html)\n\n## 9. Links ##\n\nThe Service provides, or third parties may provide, links to other World Wide Web or accessible sites, applications or resources. Because MetaMask has no control over such sites, applications and resources, you acknowledge and agree that MetaMask is not responsible for the availability of such external sites, applications or resources, and does not endorse and is not responsible or liable for any content, advertising, products or other materials on or available from such sites or resources. You further acknowledge and agree that MetaMask shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such site or resource.\n\n## 10. Termination and Suspension ##\n\nMetaMask may terminate or suspend all or part of the Service and your MetaMask access immediately, without prior notice or liability, if you breach any of the terms or conditions of the Terms. Upon termination of your access, your right to use the Service will immediately cease.\n\nThe following provisions of the Terms survive any termination of these Terms: INDEMNITY; WARRANTY DISCLAIMERS; LIMITATION ON LIABILITY; OUR PROPRIETARY RIGHTS; LINKS; TERMINATION; NO THIRD PARTY BENEFICIARIES; BINDING ARBITRATION AND CLASS ACTION WAIVER; GENERAL INFORMATION.\n\n## 11. No Third Party Beneficiaries ##\n\nYou agree that, except as otherwise expressly provided in these Terms, there shall be no third party beneficiaries to the Terms.\n\n## 12. Notice and Procedure For Making Claims of Copyright Infringement ##\n\nIf you believe that your copyright or the copyright of a person on whose behalf you are authorized to act has been infringed, please provide MetaMask’s Copyright Agent a written Notice containing the following information:\n\n· an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright or other intellectual property interest;\n\n· a description of the copyrighted work or other intellectual property that you claim has been infringed;\n\n· a description of where the material that you claim is infringing is located on the Service;\n\n· your address, telephone number, and email address;\n\n· a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;\n\n· a statement by you, made under penalty of perjury, that the above information in your Notice is accurate and that you are the copyright or intellectual property owner or authorized to act on the copyright or intellectual property owner's behalf.\n\nMetaMask’s Copyright Agent can be reached at:\n\nEmail: copyright [at] metamask [dot] io\n\nMail:\n\nAttention:\n\nMetaMask Copyright ℅ ConsenSys\n\n49 Bogart Street\n\nBrooklyn, NY 11206\n\n## 13. Binding Arbitration and Class Action Waiver ##\n\nPLEASE READ THIS SECTION CAREFULLY – IT MAY SIGNIFICANTLY AFFECT YOUR LEGAL RIGHTS, INCLUDING YOUR RIGHT TO FILE A LAWSUIT IN COURT\n\n### 13.1 Initial Dispute Resolution ###\n\nThe parties shall use their best efforts to engage directly to settle any dispute, claim, question, or disagreement and engage in good faith negotiations which shall be a condition to either party initiating a lawsuit or arbitration.\n\n### 13.2 Binding Arbitration ###\n\nIf the parties do not reach an agreed upon solution within a period of 30 days from the time informal dispute resolution under the Initial Dispute Resolution provision begins, then either party may initiate binding arbitration as the sole means to resolve claims, subject to the terms set forth below. Specifically, all claims arising out of or relating to these Terms (including their formation, performance and breach), the parties’ relationship with each other and/or your use of the Service shall be finally settled by binding arbitration administered by the American Arbitration Association in accordance with the provisions of its Commercial Arbitration Rules and the supplementary procedures for consumer related disputes of the American Arbitration Association (the \"AAA\"), excluding any rules or procedures governing or permitting class actions.\n\nThe arbitrator, and not any federal, state or local court or agency, shall have exclusive authority to resolve all disputes arising out of or relating to the interpretation, applicability, enforceability or formation of these Terms, including, but not limited to any claim that all or any part of these Terms are void or voidable, or whether a claim is subject to arbitration. The arbitrator shall be empowered to grant whatever relief would be available in a court under law or in equity. The arbitrator’s award shall be written, and binding on the parties and may be entered as a judgment in any court of competent jurisdiction.\n\nThe parties understand that, absent this mandatory provision, they would have the right to sue in court and have a jury trial. They further understand that, in some instances, the costs of arbitration could exceed the costs of litigation and the right to discovery may be more limited in arbitration than in court.\n\n### 13.3 Location ###\n\nBinding arbitration shall take place in New York. You agree to submit to the personal jurisdiction of any federal or state court in New York County, New York, in order to compel arbitration, to stay proceedings pending arbitration, or to confirm, modify, vacate or enter judgment on the award entered by the arbitrator.\n\n### 13.4 Class Action Waiver ###\n\nThe parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis. YOU AND METAMASK AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. If any court or arbitrator determines that the class action waiver set forth in this paragraph is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void in its entirety and the parties shall be deemed to have not agreed to arbitrate disputes.\n\n### 13.5 Exception - Litigation of Intellectual Property and Small Claims Court Claims ###\n\nNotwithstanding the parties' decision to resolve all disputes through arbitration, either party may bring an action in state or federal court to protect its intellectual property rights (\"intellectual property rights\" means patents, copyrights, moral rights, trademarks, and trade secrets, but not privacy or publicity rights). Either party may also seek relief in a small claims court for disputes or claims within the scope of that court’s jurisdiction.\n\n### 13.6 30-Day Right to Opt Out ###\n\nYou have the right to opt-out and not be bound by the arbitration and class action waiver provisions set forth above by sending written notice of your decision to opt-out to the following address: MetaMask ℅ ConsenSys, 49 Bogart Street, Brooklyn NY 11206 and via email at support@metamask.io. The notice must be sent within 30 days of September 6, 2016 or your first use of the Service, whichever is later, otherwise you shall be bound to arbitrate disputes in accordance with the terms of those paragraphs. If you opt-out of these arbitration provisions, MetaMask also will not be bound by them.\n\n### 13.7 Changes to This Section ###\n\nMetaMask will provide 60-days’ notice of any changes to this section. Changes will become effective on the 60th day, and will apply prospectively only to any claims arising after the 60th day.\n\nFor any dispute not subject to arbitration you and MetaMask agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, New York. You further agree to accept service of process by mail, and hereby waive any and all jurisdictional and venue defenses otherwise available.\n\nThe Terms and the relationship between you and MetaMask shall be governed by the laws of the State of New York without regard to conflict of law provisions.\n\n## 14. General Information ##\n\n### 14.1 Entire Agreement ###\n\nThese Terms (and any additional terms, rules and conditions of participation that MetaMask may post on the Service) constitute the entire agreement between you and MetaMask with respect to the Service and supersedes any prior agreements, oral or written, between you and MetaMask. In the event of a conflict between these Terms and the additional terms, rules and conditions of participation, the latter will prevail over the Terms to the extent of the conflict.\n\n### 14.2 Waiver and Severability of Terms ###\n\nThe failure of MetaMask to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. If any provision of the Terms is found by an arbitrator or court of competent jurisdiction to be invalid, the parties nevertheless agree that the arbitrator or court should endeavor to give effect to the parties' intentions as reflected in the provision, and the other provisions of the Terms remain in full force and effect.\n\n### 14.3 Statute of Limitations ###\n\nYou agree that regardless of any statute or law to the contrary, any claim or cause of action arising out of or related to the use of the Service or the Terms must be filed within one (1) year after such claim or cause of action arose or be forever barred.\n\n### 14.4 Section Titles ###\n\nThe section titles in the Terms are for convenience only and have no legal or contractual effect.\n\n### 14.5 Communications ###\n\nUsers with questions, complaints or claims with respect to the Service may contact us using the relevant contact information set forth above and at communications@metamask.io.\n\n## 15 Related Links ##\n\n**[Terms of Use](https://metamask.io/terms.html)**\n\n**[Privacy](https://metamask.io/privacy.html)**\n\n**[Attributions](https://metamask.io/attributions.html)**\n\n", + "body": "# Terms of Use #\n\n**THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION AND A WAIVER OF CLASS ACTION RIGHTS AS DETAILED IN SECTION 13. PLEASE READ THE AGREEMENT CAREFULLY.**\n\n_Our Terms of Use have been updated as of September 5, 2016_\n\n## 1. Acceptance of Terms ##\n\nMetaMask provides a platform for managing Ethereum (or \"ETH\") accounts, and allowing ordinary websites to interact with the Ethereum blockchain, while keeping the user in control over what transactions they approve, through our website located at[ ](http://metamask.io)[https://metamask.io/](https://metamask.io/) and browser plugin (the \"Site\") — which includes text, images, audio, code and other materials (collectively, the “Content”) and all of the features, and services provided. The Site, and any other features, tools, materials, or other services offered from time to time by MetaMask are referred to here as the “Service.” Please read these Terms of Use (the “Terms” or “Terms of Use”) carefully before using the Service. By using or otherwise accessing the Services, or clicking to accept or agree to these Terms where that option is made available, you (1) accept and agree to these Terms (2) consent to the collection, use, disclosure and other handling of information as described in our Privacy Policy and (3) any additional terms, rules and conditions of participation issued by MetaMask from time to time. If you do not agree to the Terms, then you may not access or use the Content or Services.\n\n## 2. Modification of Terms of Use ##\n\nExcept for Section 13, providing for binding arbitration and waiver of class action rights, MetaMask reserves the right, at its sole discretion, to modify or replace the Terms of Use at any time. The most current version of these Terms will be posted on our Site. You shall be responsible for reviewing and becoming familiar with any such modifications. Use of the Services by you after any modification to the Terms constitutes your acceptance of the Terms of Use as modified.\n\n\n\n## 3. Eligibility ##\n\nYou hereby represent and warrant that you are fully able and competent to enter into the terms, conditions, obligations, affirmations, representations and warranties set forth in these Terms and to abide by and comply with these Terms.\n\nMetaMask is a global platform and by accessing the Content or Services, you are representing and warranting that, you are of the legal age of majority in your jurisdiction as is required to access such Services and Content and enter into arrangements as provided by the Service. You further represent that you are otherwise legally permitted to use the service in your jurisdiction including owning cryptographic tokens of value, and interacting with the Services or Content in any way. You further represent you are responsible for ensuring compliance with the laws of your jurisdiction and acknowledge that MetaMask is not liable for your compliance with such laws.\n\n## 4 Account Password and Security ##\n\nWhen setting up an account within MetaMask, you will be responsible for keeping your own account secrets, which may be a twelve-word seed phrase, an account file, or other locally stored secret information. MetaMask encrypts this information locally with a password you provide, that we never send to our servers. You agree to (a) never use the same password for MetaMask that you have ever used outside of this service; (b) keep your secret information and password confidential and do not share them with anyone else; (c) immediately notify MetaMask of any unauthorized use of your account or breach of security. MetaMask cannot and will not be liable for any loss or damage arising from your failure to comply with this section.\n\n## 5. Representations, Warranties, and Risks ##\n\n### 5.1. Warranty Disclaimer ###\n\nYou expressly understand and agree that your use of the Service is at your sole risk. The Service (including the Service and the Content) are provided on an \"AS IS\" and \"as available\" basis, without warranties of any kind, either express or implied, including, without limitation, implied warranties of merchantability, fitness for a particular purpose or non-infringement. You acknowledge that MetaMask has no control over, and no duty to take any action regarding: which users gain access to or use the Service; what effects the Content may have on you; how you may interpret or use the Content; or what actions you may take as a result of having been exposed to the Content. You release MetaMask from all liability for you having acquired or not acquired Content through the Service. MetaMask makes no representations concerning any Content contained in or accessed through the Service, and MetaMask will not be responsible or liable for the accuracy, copyright compliance, legality or decency of material contained in or accessed through the Service.\n\n### 5.2 Sophistication and Risk of Cryptographic Systems ###\n\nBy utilizing the Service or interacting with the Content or platform in any way, you represent that you understand the inherent risks associated with cryptographic systems; and warrant that you have an understanding of the usage and intricacies of native cryptographic tokens, like Ether (ETH) and Bitcoin (BTC), smart contract based tokens such as those that follow the Ethereum Token Standard (https://github.com/ethereum/EIPs/issues/20), and blockchain-based software systems.\n\n### 5.3 Risk of Regulatory Actions in One or More Jurisdictions ###\n\nMetaMask and ETH could be impacted by one or more regulatory inquiries or regulatory action, which could impede or limit the ability of MetaMask to continue to develop, or which could impede or limit your ability to access or use the Service or Ethereum blockchain.\n\n### 5.4 Risk of Weaknesses or Exploits in the Field of Cryptography ###\n\nYou acknowledge and understand that Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to cryptocurrencies and Services of Content, which could result in the theft or loss of your cryptographic tokens or property. To the extent possible, MetaMask intends to update the protocol underlying Services to account for any advances in cryptography and to incorporate additional security measures, but does not guarantee or otherwise represent full security of the system. By using the Service or accessing Content, you acknowledge these inherent risks.\n\n### 5.5 Volatility of Crypto Currencies ###\n\nYou understand that Ethereum and other blockchain technologies and associated currencies or tokens are highly volatile due to many factors including but not limited to adoption, speculation, technology and security risks. You also acknowledge that the cost of transacting on such technologies is variable and may increase at any time causing impact to any activities taking place on the Ethereum blockchain. You acknowledge these risks and represent that MetaMask cannot be held liable for such fluctuations or increased costs.\n\n### 5.6 Application Security ###\n\nYou acknowledge that Ethereum applications are code subject to flaws and acknowledge that you are solely responsible for evaluating any code provided by the Services or Content and the trustworthiness of any third-party websites, products, smart-contracts, or Content you access or use through the Service. You further expressly acknowledge and represent that Ethereum applications can be written maliciously or negligently, that MetaMask cannot be held liable for your interaction with such applications and that such applications may cause the loss of property or even identity. This warning and others later provided by MetaMask in no way evidence or represent an on-going duty to alert you to all of the potential risks of utilizing the Service or Content.\n\n## 6. Indemnity ##\n\nYou agree to release and to indemnify, defend and hold harmless MetaMask and its parents, subsidiaries, affiliates and agencies, as well as the officers, directors, employees, shareholders and representatives of any of the foregoing entities, from and against any and all losses, liabilities, expenses, damages, costs (including attorneys’ fees and court costs) claims or actions of any kind whatsoever arising or resulting from your use of the Service, your violation of these Terms of Use, and any of your acts or omissions that implicate publicity rights, defamation or invasion of privacy. MetaMask reserves the right, at its own expense, to assume exclusive defense and control of any matter otherwise subject to indemnification by you and, in such case, you agree to cooperate with MetaMask in the defense of such matter.\n\n## 7. Limitation on liability ##\n\nYOU ACKNOWLEDGE AND AGREE THAT YOU ASSUME FULL RESPONSIBILITY FOR YOUR USE OF THE SITE AND SERVICE. YOU ACKNOWLEDGE AND AGREE THAT ANY INFORMATION YOU SEND OR RECEIVE DURING YOUR USE OF THE SITE AND SERVICE MAY NOT BE SECURE AND MAY BE INTERCEPTED OR LATER ACQUIRED BY UNAUTHORIZED PARTIES. YOU ACKNOWLEDGE AND AGREE THAT YOUR USE OF THE SITE AND SERVICE IS AT YOUR OWN RISK. RECOGNIZING SUCH, YOU UNDERSTAND AND AGREE THAT, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER METAMASK NOR ITS SUPPLIERS OR LICENSORS WILL BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY OR OTHER DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER TANGIBLE OR INTANGIBLE LOSSES OR ANY OTHER DAMAGES BASED ON CONTRACT, TORT, STRICT LIABILITY OR ANY OTHER THEORY (EVEN IF METAMASK HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES), RESULTING FROM THE SITE OR SERVICE; THE USE OR THE INABILITY TO USE THE SITE OR SERVICE; UNAUTHORIZED ACCESS TO OR ALTERATION OF YOUR TRANSMISSIONS OR DATA; STATEMENTS OR CONDUCT OF ANY THIRD PARTY ON THE SITE OR SERVICE; ANY ACTIONS WE TAKE OR FAIL TO TAKE AS A RESULT OF COMMUNICATIONS YOU SEND TO US; HUMAN ERRORS; TECHNICAL MALFUNCTIONS; FAILURES, INCLUDING PUBLIC UTILITY OR TELEPHONE OUTAGES; OMISSIONS, INTERRUPTIONS, LATENCY, DELETIONS OR DEFECTS OF ANY DEVICE OR NETWORK, PROVIDERS, OR SOFTWARE (INCLUDING, BUT NOT LIMITED TO, THOSE THAT DO NOT PERMIT PARTICIPATION IN THE SERVICE); ANY INJURY OR DAMAGE TO COMPUTER EQUIPMENT; INABILITY TO FULLY ACCESS THE SITE OR SERVICE OR ANY OTHER WEBSITE; THEFT, TAMPERING, DESTRUCTION, OR UNAUTHORIZED ACCESS TO, IMAGES OR OTHER CONTENT OF ANY KIND; DATA THAT IS PROCESSED LATE OR INCORRECTLY OR IS INCOMPLETE OR LOST; TYPOGRAPHICAL, PRINTING OR OTHER ERRORS, OR ANY COMBINATION THEREOF; OR ANY OTHER MATTER RELATING TO THE SITE OR SERVICE.\n\nSOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.\n\n## 8. Our Proprietary Rights ##\n\nAll title, ownership and intellectual property rights in and to the Service are owned by MetaMask or its licensors. You acknowledge and agree that the Service contains proprietary and confidential information that is protected by applicable intellectual property and other laws. Except as expressly authorized by MetaMask, you agree not to copy, modify, rent, lease, loan, sell, distribute, perform, display or create derivative works based on the Service, in whole or in part. MetaMask issues a license for MetaMask, found [here](https://github.com/MetaMask/metamask-plugin/blob/master/LICENSE). For information on other licenses utilized in the development of MetaMask, please see our attribution page at: [https://metamask.io/attributions.html](https://metamask.io/attributions.html)\n\n## 9. Links ##\n\nThe Service provides, or third parties may provide, links to other World Wide Web or accessible sites, applications or resources. Because MetaMask has no control over such sites, applications and resources, you acknowledge and agree that MetaMask is not responsible for the availability of such external sites, applications or resources, and does not endorse and is not responsible or liable for any content, advertising, products or other materials on or available from such sites or resources. You further acknowledge and agree that MetaMask shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such site or resource.\n\n## 10. Termination and Suspension ##\n\nMetaMask may terminate or suspend all or part of the Service and your MetaMask access immediately, without prior notice or liability, if you breach any of the terms or conditions of the Terms. Upon termination of your access, your right to use the Service will immediately cease.\n\nThe following provisions of the Terms survive any termination of these Terms: INDEMNITY; WARRANTY DISCLAIMERS; LIMITATION ON LIABILITY; OUR PROPRIETARY RIGHTS; LINKS; TERMINATION; NO THIRD PARTY BENEFICIARIES; BINDING ARBITRATION AND CLASS ACTION WAIVER; GENERAL INFORMATION.\n\n## 11. No Third Party Beneficiaries ##\n\nYou agree that, except as otherwise expressly provided in these Terms, there shall be no third party beneficiaries to the Terms.\n\n## 12. Notice and Procedure For Making Claims of Copyright Infringement ##\n\nIf you believe that your copyright or the copyright of a person on whose behalf you are authorized to act has been infringed, please provide MetaMask’s Copyright Agent a written Notice containing the following information:\n\n· an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright or other intellectual property interest;\n\n· a description of the copyrighted work or other intellectual property that you claim has been infringed;\n\n· a description of where the material that you claim is infringing is located on the Service;\n\n· your address, telephone number, and email address;\n\n· a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;\n\n· a statement by you, made under penalty of perjury, that the above information in your Notice is accurate and that you are the copyright or intellectual property owner or authorized to act on the copyright or intellectual property owner's behalf.\n\nMetaMask’s Copyright Agent can be reached at:\n\nEmail: copyright [at] metamask [dot] io\n\nMail:\n\nAttention:\n\nMetaMask Copyright ℅ ConsenSys\n\n49 Bogart Street\n\nBrooklyn, NY 11206\n\n## 13. Binding Arbitration and Class Action Waiver ##\n\nPLEASE READ THIS SECTION CAREFULLY – IT MAY SIGNIFICANTLY AFFECT YOUR LEGAL RIGHTS, INCLUDING YOUR RIGHT TO FILE A LAWSUIT IN COURT\n\n### 13.1 Initial Dispute Resolution ###\n\nThe parties shall use their best efforts to engage directly to settle any dispute, claim, question, or disagreement and engage in good faith negotiations which shall be a condition to either party initiating a lawsuit or arbitration.\n\n### 13.2 Binding Arbitration ###\n\nIf the parties do not reach an agreed upon solution within a period of 30 days from the time informal dispute resolution under the Initial Dispute Resolution provision begins, then either party may initiate binding arbitration as the sole means to resolve claims, subject to the terms set forth below. Specifically, all claims arising out of or relating to these Terms (including their formation, performance and breach), the parties’ relationship with each other and/or your use of the Service shall be finally settled by binding arbitration administered by the American Arbitration Association in accordance with the provisions of its Commercial Arbitration Rules and the supplementary procedures for consumer related disputes of the American Arbitration Association (the \"AAA\"), excluding any rules or procedures governing or permitting class actions.\n\nThe arbitrator, and not any federal, state or local court or agency, shall have exclusive authority to resolve all disputes arising out of or relating to the interpretation, applicability, enforceability or formation of these Terms, including, but not limited to any claim that all or any part of these Terms are void or voidable, or whether a claim is subject to arbitration. The arbitrator shall be empowered to grant whatever relief would be available in a court under law or in equity. The arbitrator’s award shall be written, and binding on the parties and may be entered as a judgment in any court of competent jurisdiction.\n\nThe parties understand that, absent this mandatory provision, they would have the right to sue in court and have a jury trial. They further understand that, in some instances, the costs of arbitration could exceed the costs of litigation and the right to discovery may be more limited in arbitration than in court.\n\n### 13.3 Location ###\n\nBinding arbitration shall take place in New York. You agree to submit to the personal jurisdiction of any federal or state court in New York County, New York, in order to compel arbitration, to stay proceedings pending arbitration, or to confirm, modify, vacate or enter judgment on the award entered by the arbitrator.\n\n### 13.4 Class Action Waiver ###\n\nThe parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis. YOU AND METAMASK AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING. If any court or arbitrator determines that the class action waiver set forth in this paragraph is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void in its entirety and the parties shall be deemed to have not agreed to arbitrate disputes.\n\n### 13.5 Exception - Litigation of Intellectual Property and Small Claims Court Claims ###\n\nNotwithstanding the parties' decision to resolve all disputes through arbitration, either party may bring an action in state or federal court to protect its intellectual property rights (\"intellectual property rights\" means patents, copyrights, moral rights, trademarks, and trade secrets, but not privacy or publicity rights). Either party may also seek relief in a small claims court for disputes or claims within the scope of that court’s jurisdiction.\n\n### 13.6 30-Day Right to Opt Out ###\n\nYou have the right to opt-out and not be bound by the arbitration and class action waiver provisions set forth above by sending written notice of your decision to opt-out to the following address: MetaMask ℅ ConsenSys, 49 Bogart Street, Brooklyn NY 11206 and via email at portal@conflux-chain.org. The notice must be sent within 30 days of September 6, 2016 or your first use of the Service, whichever is later, otherwise you shall be bound to arbitrate disputes in accordance with the terms of those paragraphs. If you opt-out of these arbitration provisions, MetaMask also will not be bound by them.\n\n### 13.7 Changes to This Section ###\n\nMetaMask will provide 60-days’ notice of any changes to this section. Changes will become effective on the 60th day, and will apply prospectively only to any claims arising after the 60th day.\n\nFor any dispute not subject to arbitration you and MetaMask agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, New York. You further agree to accept service of process by mail, and hereby waive any and all jurisdictional and venue defenses otherwise available.\n\nThe Terms and the relationship between you and MetaMask shall be governed by the laws of the State of New York without regard to conflict of law provisions.\n\n## 14. General Information ##\n\n### 14.1 Entire Agreement ###\n\nThese Terms (and any additional terms, rules and conditions of participation that MetaMask may post on the Service) constitute the entire agreement between you and MetaMask with respect to the Service and supersedes any prior agreements, oral or written, between you and MetaMask. In the event of a conflict between these Terms and the additional terms, rules and conditions of participation, the latter will prevail over the Terms to the extent of the conflict.\n\n### 14.2 Waiver and Severability of Terms ###\n\nThe failure of MetaMask to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. If any provision of the Terms is found by an arbitrator or court of competent jurisdiction to be invalid, the parties nevertheless agree that the arbitrator or court should endeavor to give effect to the parties' intentions as reflected in the provision, and the other provisions of the Terms remain in full force and effect.\n\n### 14.3 Statute of Limitations ###\n\nYou agree that regardless of any statute or law to the contrary, any claim or cause of action arising out of or related to the use of the Service or the Terms must be filed within one (1) year after such claim or cause of action arose or be forever barred.\n\n### 14.4 Section Titles ###\n\nThe section titles in the Terms are for convenience only and have no legal or contractual effect.\n\n### 14.5 Communications ###\n\nUsers with questions, complaints or claims with respect to the Service may contact us using the relevant contact information set forth above and at communications@metamask.io.\n\n## 15 Related Links ##\n\n**[Terms of Use](https://metamask.io/terms.html)**\n\n**[Privacy](https://metamask.io/privacy.html)**\n\n**[Attributions](https://metamask.io/attributions.html)**\n\n", "id": 0 }, { diff --git a/ui/app/components/app/confirm-page-container/confirm-detail-row/index.scss b/ui/app/components/app/confirm-page-container/confirm-detail-row/index.scss index 80eb9cce6ae6..cdde229f272d 100644 --- a/ui/app/components/app/confirm-page-container/confirm-detail-row/index.scss +++ b/ui/app/components/app/confirm-page-container/confirm-detail-row/index.scss @@ -26,6 +26,8 @@ &__secondary { color: $oslo-gray; justify-content: flex-end; + // TODO: show this when there's convertion + display: none; } &__header-text { diff --git a/ui/app/components/app/modals/confirm-remove-account/confirm-remove-account.component.js b/ui/app/components/app/modals/confirm-remove-account/confirm-remove-account.component.js index 1d83f3ff9b78..dd672c765243 100644 --- a/ui/app/components/app/modals/confirm-remove-account/confirm-remove-account.component.js +++ b/ui/app/components/app/modals/confirm-remove-account/confirm-remove-account.component.js @@ -77,14 +77,14 @@ export default class ConfirmRemoveAccount extends Component { {this.renderSelectedAccount()} diff --git a/ui/app/components/app/signature-request-original/signature-request-original.component.js b/ui/app/components/app/signature-request-original/signature-request-original.component.js index c79d3c798cb2..79a97733171f 100644 --- a/ui/app/components/app/signature-request-original/signature-request-original.component.js +++ b/ui/app/components/app/signature-request-original/signature-request-original.component.js @@ -214,19 +214,6 @@ export default class SignatureRequestOriginal extends Component { })} > {notice} - {type === 'eth_sign' ? ( - { - global.platform.openWindow({ - url: - 'https://metamask.zendesk.com/hc/en-us/articles/360015488751', - }) - }} - > - {this.context.t('learnMore')} - - ) : null}
{rows.map(({ name, value }, index) => { diff --git a/ui/app/components/ui/currency-input/index.scss b/ui/app/components/ui/currency-input/index.scss index f659f5b351f6..042e6f6d45d6 100644 --- a/ui/app/components/ui/currency-input/index.scss +++ b/ui/app/components/ui/currency-input/index.scss @@ -3,6 +3,8 @@ font-size: 12px; line-height: 12px; padding-left: 1px; + // TODO: show this when there's convertion + display: none; } &__swap-component { diff --git a/ui/app/components/ui/metafox-logo/metafox-logo.component.js b/ui/app/components/ui/metafox-logo/metafox-logo.component.js index 2c2e5ddd58be..8063234035bc 100644 --- a/ui/app/components/ui/metafox-logo/metafox-logo.component.js +++ b/ui/app/components/ui/metafox-logo/metafox-logo.component.js @@ -25,7 +25,7 @@ export default class MetaFoxLogo extends PureComponent { > {this.context.t('addAcquiredTokens')}
- - {this.context.t('learnMore')} - + {/* */} + {/* {this.context.t('learnMore')} */} + {/* */} ) } diff --git a/ui/app/pages/create-account/connect-hardware/connect-screen.js b/ui/app/pages/create-account/connect-hardware/connect-screen.js index c85ab45a8904..8bc1374b3984 100644 --- a/ui/app/pages/create-account/connect-hardware/connect-screen.js +++ b/ui/app/pages/create-account/connect-hardware/connect-screen.js @@ -218,17 +218,17 @@ class ConnectScreen extends Component { {this.context.t('readyToConnect')} {this.renderButtons()} -

- {this.context.t('havingTroubleConnecting')} - - {this.context.t('getHelp')} - -

+ {/*

*/} + {/* {this.context.t('havingTroubleConnecting')} */} + {/* */} + {/* {this.context.t('getHelp')} */} + {/* */} + {/*

*/} ) } diff --git a/ui/app/pages/create-account/import-account/json.js b/ui/app/pages/create-account/import-account/json.js index 38b4c5fd13ae..b6997e422792 100644 --- a/ui/app/pages/create-account/import-account/json.js +++ b/ui/app/pages/create-account/import-account/json.js @@ -9,8 +9,8 @@ import { DEFAULT_ROUTE } from '../../../helpers/constants/routes' import { getMetaMaskAccounts } from '../../../selectors/selectors' import Button from '../../../components/ui/button' -const HELP_LINK = - 'https://metamask.zendesk.com/hc/en-us/articles/360015489331-Importing-an-Account' +// const HELP_LINK = +// 'https://metamask.zendesk.com/hc/en-us/articles/360015489331-Importing-an-Account' class JsonImportSubview extends Component { state = { @@ -27,9 +27,9 @@ class JsonImportSubview extends Component { return (

{this.context.t('usedByClients')}

- - {this.context.t('fileImportFail')} - + {/* */} + {/* {this.context.t('fileImportFail')} */} + {/* */}