From 8df97e4c448b22789b9ecad75cbefeb02ad11ef2 Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:39:29 +0400 Subject: [PATCH 01/16] Likhith/89416/place holder change for ghana poi (#8045) * feat: :sparkles: incorporated a function to dynamically set placeholder text * feat: :lipstick: incorporated new placeholder texts * feat: resolved import path * refactor: :recycle: incorporated review comments * feat: incorporated review comments * feat: added testcases for util file * feat: incorporated dynamic placeholder * feat: :bug: localized the text * feat: :bug: added missing import config * feat: :bug: resolved Field placeholder text issue --- packages/account/jest.config.js | 1 + .../idv-document-submit.jsx | 14 ++++--- .../poi/idv-document-submit/utils.js | 39 ++++++++++--------- .../idv-doc-submit-on-signup.jsx | 19 +++++---- .../src/Helpers/__tests__/utils.spec.js | 19 +++++++++ packages/account/src/Helpers/utils.js | 15 +++++++ 6 files changed, 75 insertions(+), 32 deletions(-) create mode 100644 packages/account/src/Helpers/__tests__/utils.spec.js create mode 100644 packages/account/src/Helpers/utils.js diff --git a/packages/account/jest.config.js b/packages/account/jest.config.js index ab3da279d6b1..1bb16f90d1ff 100644 --- a/packages/account/jest.config.js +++ b/packages/account/jest.config.js @@ -10,6 +10,7 @@ module.exports = { '^Constants/(.*)$': '/src/Constants/$1', '^Configs/(.*)$': '/src/Configs/$1', '^Duplicated/(.*)$': '/src/Duplicated/$1', + '^Helpers/(.*)$': '/src/Helpers/$1', '^Services/(.*)$': '/src/Services/$1', '^Stores/(.*)$': '/src/Stores/$1', '^Sections/(.*)$': '/src/Sections/$1', diff --git a/packages/account/src/Components/poi/idv-document-submit/idv-document-submit.jsx b/packages/account/src/Components/poi/idv-document-submit/idv-document-submit.jsx index 5789f46b376b..cda0b51d312f 100644 --- a/packages/account/src/Components/poi/idv-document-submit/idv-document-submit.jsx +++ b/packages/account/src/Components/poi/idv-document-submit/idv-document-submit.jsx @@ -5,6 +5,7 @@ import { Autocomplete, Button, DesktopWrapper, Input, MobileWrapper, Text, Selec import { Formik, Field } from 'formik'; import { localize, Localize } from '@deriv/translations'; import { formatInput, WS } from '@deriv/shared'; +import { generatePlaceholderText } from 'Helpers/utils'; import { documentAdditionalError, getDocumentData, getRegex, preventEmptyClipboardPaste } from './utils'; import FormFooter from 'Components/form-footer'; import BackButtonIcon from 'Assets/ic-poi-back-btn.svg'; @@ -14,7 +15,8 @@ const IdvDocumentSubmit = ({ handleBack, handleViewComplete, selected_country, i const [document_list, setDocumentList] = React.useState([]); const [document_image, setDocumentImage] = React.useState(null); const [is_input_disable, setInputDisable] = React.useState(true); - const [is_doc_selected, setDocSelected] = React.useState(false); + const [selected_doc, setSelectedDoc] = React.useState(null); + const document_data = selected_country.identity.services.idv.documents_supported; const { @@ -205,11 +207,11 @@ const IdvDocumentSubmit = ({ handleBack, handleViewComplete, selected_country, i onChange={handleChange} onItemSelection={item => { if (item.text === 'No results found' || !item.text) { - setDocSelected(false); + setSelectedDoc(null); resetDocumentItemSelected(setFieldValue); } else { setFieldValue('document_type', item, true); - setDocSelected(true); + setSelectedDoc(item.id); if (has_visual_sample) { setDocumentImage(item.sample_image || ''); } @@ -232,7 +234,7 @@ const IdvDocumentSubmit = ({ handleBack, handleViewComplete, selected_country, i handleChange(e); const selected_document = getDocument(e.target.value); if (selected_document) { - setDocSelected(true); + setSelectedDoc(selected_document.id); setFieldValue('document_type', selected_document, true); if (has_visual_sample) { setDocumentImage(selected_document.sample_image); @@ -264,7 +266,7 @@ const IdvDocumentSubmit = ({ handleBack, handleViewComplete, selected_country, i errors.error_message } autoComplete='off' - placeholder='Enter your document number' + placeholder={generatePlaceholderText(selected_doc)} value={values.document_number} onPaste={preventEmptyClipboardPaste} onBlur={handleBlur} @@ -322,7 +324,7 @@ const IdvDocumentSubmit = ({ handleBack, handleViewComplete, selected_country, i )} - {is_doc_selected && ( + {selected_doc && ( { let error_message = null; if (!document_additional) { - error_message = 'Please enter your document number. '; + error_message = localize('Please enter your document number. '); } else { const format_regex = getRegex(document_additional_format); if (!format_regex.test(document_additional)) { - error_message = 'Please enter the correct format. '; + error_message = localize('Please enter the correct format. '); } } @@ -71,24 +72,24 @@ const idv_document_data = { }, za: { national_id: { - new_display_name: 'National ID', + new_display_name: localize('National ID'), example_format: '1234567890123', sample_image: getImageLocation('za_national_identity_card.png'), }, national_id_no_photo: { - new_display_name: 'National ID (No Photo)', + new_display_name: localize('National ID (No Photo)'), example_format: '1234567890123', sample_image: '', }, }, ng: { bvn: { - new_display_name: 'Bank Verification Number', + new_display_name: localize('Bank Verification Number'), example_format: '12345678901', sample_image: '', }, cac: { - new_display_name: 'Corporate Affairs Commission', + new_display_name: localize('Corporate Affairs Commission'), example_format: '12345678', sample_image: '', }, @@ -98,22 +99,22 @@ const idv_document_data = { sample_image: getImageLocation('ng_drivers_license.png'), }, nin: { - new_display_name: 'National Identity Number', + new_display_name: localize('National Identity Number'), example_format: '12345678901', sample_image: '', }, nin_slip: { - new_display_name: 'National Identity Number Slip', + new_display_name: localize('National Identity Number Slip'), example_format: '12345678901', sample_image: getImageLocation('ng_nin_slip.png'), }, tin: { - new_display_name: 'Taxpayer identification number', + new_display_name: localize('Taxpayer identification number'), example_format: '12345678-1234', sample_image: '', }, voter_id: { - new_display_name: 'Voter ID', + new_display_name: localize('Voter ID'), example_format: '1234567890123456789', sample_image: getImageLocation('ng_voter_id.png'), }, @@ -121,52 +122,52 @@ const idv_document_data = { gh: { drivers_license: { new_display_name: '', - example_format: 'B1234567', + example_format: '12345678A1', sample_image: '', }, national_id: { - new_display_name: 'National ID', + new_display_name: localize('National ID'), example_format: 'GHA-123456789-1', sample_image: '', }, passport: { - new_display_name: 'Passport', + new_display_name: localize('Passport'), example_format: 'G1234567', sample_image: '', }, ssnit: { - new_display_name: 'Social Security and National Insurance Trust', + new_display_name: localize('Social Security and National Insurance Trust'), example_format: 'C123456789012', sample_image: '', }, voter_id: { - new_display_name: 'Voter ID', + new_display_name: localize('Voter ID'), example_format: '01234567890', sample_image: '', }, }, br: { cpf: { - new_display_name: 'CPF', + new_display_name: localize('CPF'), example_format: '123.456.789-12', sample_image: '', }, }, ug: { national_id: { - new_display_name: 'National ID', + new_display_name: localize('National ID'), example_format: 'CM12345678PE1D', sample_image: getImageLocation('ug_national_identity_card.png'), }, national_id_no_photo: { - new_display_name: 'National ID (No Photo)', + new_display_name: localize('National ID (No Photo)'), example_format: 'CM12345678PE1D', sample_image: '', }, }, zw: { national_id: { - new_display_name: 'National ID', + new_display_name: localize('National ID'), example_format: '081234567F53', sample_image: getImageLocation('zw_national_identity_card.png'), }, diff --git a/packages/account/src/Components/poi/poi-form-on-signup/idv-doc-submit-on-signup/idv-doc-submit-on-signup.jsx b/packages/account/src/Components/poi/poi-form-on-signup/idv-doc-submit-on-signup/idv-doc-submit-on-signup.jsx index adc77ecf4bc1..300656015824 100644 --- a/packages/account/src/Components/poi/poi-form-on-signup/idv-doc-submit-on-signup/idv-doc-submit-on-signup.jsx +++ b/packages/account/src/Components/poi/poi-form-on-signup/idv-doc-submit-on-signup/idv-doc-submit-on-signup.jsx @@ -21,12 +21,13 @@ import { preventEmptyClipboardPaste, } from '../../idv-document-submit/utils'; import DocumentSubmitLogo from 'Assets/ic-document-submit-icon.svg'; +import { generatePlaceholderText } from 'Helpers/utils'; export const IdvDocSubmitOnSignup = ({ citizen_data, has_previous, onPrevious, onNext, value, has_idv_error }) => { const [document_list, setDocumentList] = React.useState([]); const [document_image, setDocumentImage] = React.useState(null); const [is_input_disable, setInputDisable] = React.useState(true); - const [is_doc_selected, setDocSelected] = React.useState(false); + const [selected_doc, setSelectedDoc] = React.useState(null); const document_data = citizen_data.identity.services.idv.documents_supported; const { @@ -194,7 +195,7 @@ export const IdvDocSubmitOnSignup = ({ citizen_data, has_previous, onPrevious, o {localize('Please select the document type and enter the ID number.')} - {has_idv_error && !is_doc_selected && ( + {has_idv_error && !selected_doc && ( <> )} - {is_doc_selected && ( + {selected_doc && ( { + it('should return the correct placeholder text for drivers license', () => { + expect(generatePlaceholderText('drivers_license')).toEqual('Enter Driver License Reference number'); + }); + + it('should return the correct placeholder text for ssnit', () => { + expect(generatePlaceholderText('ssnit')).toEqual('Enter your SSNIT number'); + }); + + it('should return the correct placeholder text for id card', () => { + expect(generatePlaceholderText('id_card')).toEqual('Enter your document number'); + }); + + it('should return the correct placeholder text for passport', () => { + expect(generatePlaceholderText('passport')).toEqual('Enter your document number'); + }); +}); diff --git a/packages/account/src/Helpers/utils.js b/packages/account/src/Helpers/utils.js new file mode 100644 index 000000000000..1cb567d90c7c --- /dev/null +++ b/packages/account/src/Helpers/utils.js @@ -0,0 +1,15 @@ +import { localize } from '@deriv/translations'; +/** + * @param {string} selected_doc - Could be one of the following: 'drivers_license', 'ssnit', 'id_card', 'passport' + * @returns {string} - Returns the placeholder text for the document number input + */ +export const generatePlaceholderText = selected_doc => { + switch (selected_doc) { + case 'drivers_license': + return localize('Enter Driver License Reference number'); + case 'ssnit': + return localize('Enter your SSNIT number'); + default: + return localize('Enter your document number'); + } +}; From 47305404425c3366a18e088692c531594bf1497f Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:40:22 +0400 Subject: [PATCH 02/16] likhith/feat: :sparkles: upgraded onfido and configured it to not display country selection (#7715) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: :sparkles: upgraded onfido and configured it to not display country selection * chore: :heavy_plus_sign: update package-lock --------- Co-authored-by: “yauheni-kryzhyk-deriv” <“yauheni@deriv.me”> Co-authored-by: yauheni-deriv <103182683+yauheni-deriv@users.noreply.github.com> --- package-lock.json | 1245 ++++++++++++++--- packages/account/package.json | 8 +- .../ProofOfIdentity/onfido-sdk-view.jsx | 1 + 3 files changed, 1061 insertions(+), 193 deletions(-) diff --git a/package-lock.json b/package-lock.json index f5693272d72e..7d65c4cf655e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -102,7 +102,7 @@ "node-sass": "^7.0.1", "null-loader": "^4.0.1", "object.fromentries": "^2.0.0", - "onfido-sdk-ui": "8.1.1", + "onfido-sdk-ui": "^11.0.0", "pako": "^1.0.11", "postcss-loader": "^6.2.1", "postcss-preset-env": "^7.4.3", @@ -2781,14 +2781,14 @@ } }, "node_modules/@deriv/api-types": { - "version": "1.0.96", - "resolved": "https://registry.npmjs.org/@deriv/api-types/-/api-types-1.0.96.tgz", - "integrity": "sha512-BQcN6WG7w5o1NIbuVkW7E7HIFKMlUYOobhkj6yIby8rONrnG7bdES9sK9cv/ABEHcVpckyYMgNpUl+96grn3Hw==" + "version": "1.0.98", + "resolved": "https://registry.npmjs.org/@deriv/api-types/-/api-types-1.0.98.tgz", + "integrity": "sha512-K/g6v7JfnZMmxdqmnEhWeaV8syo3w0pILREVbPvPc67VydC1729cpIF4lgVr/Rgax9bXEzhT2LVvjgwU6moK9g==" }, "node_modules/@deriv/deriv-api": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@deriv/deriv-api/-/deriv-api-1.0.11.tgz", - "integrity": "sha512-3J3Dd0emw53BcZQgBK84na7m3OkATU3S32DTeEOWEiMJkIQhyoX7f4C4jYPVPDTJrD6Q5flILXQGaISEIqL6mg==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@deriv/deriv-api/-/deriv-api-1.0.12.tgz", + "integrity": "sha512-3/ZgSr1Uai1GS+E7j067JiHfERYhp1fctd/lUbTovW2T91xBEN6DsaiDZ/9tHwKxW65SY39Z8vl96u5+NUrLwQ==", "dependencies": { "dayjs": "^1.8.15", "json-stable-stringify": "^1.0.1", @@ -6161,6 +6161,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@mediapipe/face_detection": { + "version": "0.4.1646425229", + "resolved": "https://registry.npmjs.org/@mediapipe/face_detection/-/face_detection-0.4.1646425229.tgz", + "integrity": "sha512-aeCN+fRAojv9ch3NXorP6r5tcGVLR3/gC1HmtqB0WEZBRXrdP6/3W/sGR0dHr1iT6ueiK95G9PVjbzFosf/hrg==" + }, + "node_modules/@mediapipe/face_mesh": { + "version": "0.4.1633559619", + "resolved": "https://registry.npmjs.org/@mediapipe/face_mesh/-/face_mesh-0.4.1633559619.tgz", + "integrity": "sha512-Vc8cdjxS5+O2gnjWH9KncYpUCVXT0h714KlWAsyqJvJbIgUJBqpppbIx8yWcAzBDxm/5cYSuBI5p5ySIPxzcEg==" + }, "node_modules/@motionone/animation": { "version": "10.15.1", "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", @@ -6920,6 +6930,65 @@ "@octokit/openapi-types": "^14.0.0" } }, + "node_modules/@onfido/active-video-capture": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@onfido/active-video-capture/-/active-video-capture-0.22.2.tgz", + "integrity": "sha512-wM7PJUdB0rwCpIdKoOczynqALW9zXXr/x43RGDpaGBFMdY5imbXpQtI/JaaZjQsWK6cH8FKAkKLvrxRNYCsMmQ==", + "hasInstallScript": true, + "dependencies": { + "@mediapipe/face_detection": "^0.4.1646425229", + "@mediapipe/face_mesh": "^0.4.1633559619", + "@onfido/castor": "^2.2.2", + "@onfido/castor-icons": "^2.12.0", + "@tensorflow-models/face-detection": "^1.0.1", + "@tensorflow-models/face-landmarks-detection": "^1.0.2", + "@tensorflow/tfjs-backend-wasm": "^3.20.0", + "@tensorflow/tfjs-backend-webgl": "^3.20.0", + "@tensorflow/tfjs-converter": "^3.20.0", + "@tensorflow/tfjs-core": "^3.20.0", + "@typescript/lib-dom": "npm:@types/web", + "patch-package": "^6.4.7", + "postinstall-postinstall": "^2.1.0", + "preact": "^10.10.6", + "react-webcam": "^7.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@onfido/castor": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@onfido/castor/-/castor-2.2.5.tgz", + "integrity": "sha512-Io3FTazT06FDFJGjHWNF9g0fsIKHw38L2apL//zp/vveyEV1Zce/U0fLzC8LcE5TuoMnoAYaRi6Jwogd8EN5TA==", + "dependencies": { + "@onfido/castor-tokens": "^1.0.0-beta.6", + "csstype": "^3.1.1" + }, + "peerDependencies": { + "@onfido/castor-icons": ">=1.0.0" + } + }, + "node_modules/@onfido/castor-icons": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@onfido/castor-icons/-/castor-icons-2.16.0.tgz", + "integrity": "sha512-moThxhRXKxoHrsP8hIoCrtecUX8m5Hjk5yozuYTKqA24iBIQpcDe+SDG/m6slDYpT9iSXediCU4hb7XjpHYjSg==", + "peerDependencies": { + "react": ">=17 || ^16.14 || ^15.7 || ^0.14.10" + } + }, + "node_modules/@onfido/castor-tokens": { + "version": "1.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@onfido/castor-tokens/-/castor-tokens-1.0.0-beta.6.tgz", + "integrity": "sha512-MfwuSlNdM0Ay0cI3LLyqZGsHW0e1Y1R/0IdQKVU575PdWQx1Q/538aOZMo/a3/oSW0pMEgfOm+mNqPx057cvWA==" + }, + "node_modules/@onfido/opencv": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onfido/opencv/-/opencv-1.0.2.tgz", + "integrity": "sha512-dgUj7NJ3tohlqU6WdYiey5NBTTjI0VYp2yyL8dz1g8c/nX5tM5toOgEgyaNz7fX2tlpJO877G/CT/n5yYSb+gg==", + "dependencies": { + "mirada": "^0.0.15" + } + }, "node_modules/@parcel/watcher": { "version": "2.0.4", "dev": true, @@ -7565,99 +7634,95 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, - "node_modules/@sentry/browser": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.19.7.tgz", - "integrity": "sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA==", + "node_modules/@sentry-internal/tracing": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.48.0.tgz", + "integrity": "sha512-MFAPDTrvCtfSm0/Zbmx7HA0Q5uCfRadOUpN8Y8rP1ndz+329h2kA3mZRCuC+3/aXL11zs2CHUhcAkGjwH2vogg==", "dependencies": { - "@sentry/core": "6.19.7", - "@sentry/types": "6.19.7", - "@sentry/utils": "6.19.7", + "@sentry/core": "7.48.0", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0", "tslib": "^1.9.3" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/@sentry/browser/node_modules/tslib": { + "node_modules/@sentry-internal/tracing/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@sentry/core": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.19.7.tgz", - "integrity": "sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==", - "dependencies": { - "@sentry/hub": "6.19.7", - "@sentry/minimal": "6.19.7", - "@sentry/types": "6.19.7", - "@sentry/utils": "6.19.7", + "node_modules/@sentry/browser": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.48.0.tgz", + "integrity": "sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==", + "dependencies": { + "@sentry-internal/tracing": "7.48.0", + "@sentry/core": "7.48.0", + "@sentry/replay": "7.48.0", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0", "tslib": "^1.9.3" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/@sentry/core/node_modules/tslib": { + "node_modules/@sentry/browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@sentry/hub": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.19.7.tgz", - "integrity": "sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==", + "node_modules/@sentry/core": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", + "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", "dependencies": { - "@sentry/types": "6.19.7", - "@sentry/utils": "6.19.7", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0", "tslib": "^1.9.3" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/@sentry/hub/node_modules/tslib": { + "node_modules/@sentry/core/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@sentry/minimal": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.19.7.tgz", - "integrity": "sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ==", + "node_modules/@sentry/replay": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.48.0.tgz", + "integrity": "sha512-8fRHMGJ0NJeIZi6UucxUTvfDPaBa7+jU1kCTLjCcuH3X/UVz5PtGLMtFSO5U8HP+mUDlPs97MP1uoDvMa4S2Ng==", "dependencies": { - "@sentry/hub": "6.19.7", - "@sentry/types": "6.19.7", - "tslib": "^1.9.3" + "@sentry/core": "7.48.0", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0" }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/@sentry/minimal/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/@sentry/types": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.19.7.tgz", - "integrity": "sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", + "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==", "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.19.7.tgz", - "integrity": "sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", + "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", "dependencies": { - "@sentry/types": "6.19.7", + "@sentry/types": "7.48.0", "tslib": "^1.9.3" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/@sentry/utils/node_modules/tslib": { @@ -9074,9 +9139,9 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, "node_modules/@storybook/builder-webpack4/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/builder-webpack4/node_modules/@webassemblyjs/ast": { "version": "1.9.0", @@ -10369,9 +10434,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/builder-webpack5/node_modules/colorette": { "version": "1.4.0", @@ -10796,9 +10861,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/core-common/node_modules/@webassemblyjs/ast": { "version": "1.9.0", @@ -11620,9 +11685,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/core-server/node_modules/@webassemblyjs/ast": { "version": "1.9.0", @@ -12563,9 +12628,9 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, "node_modules/@storybook/manager-webpack4/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/manager-webpack4/node_modules/@webassemblyjs/ast": { "version": "1.9.0", @@ -13843,9 +13908,9 @@ } }, "node_modules/@storybook/manager-webpack5/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/manager-webpack5/node_modules/ansi-styles": { "version": "4.3.0", @@ -14357,9 +14422,9 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "node_modules/@storybook/react/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "node_modules/@storybook/react/node_modules/acorn": { "version": "7.4.1", @@ -14894,6 +14959,107 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/@tensorflow-models/face-detection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tensorflow-models/face-detection/-/face-detection-1.0.1.tgz", + "integrity": "sha512-oIEEqHy4qbkGn5xT1ldzwxK5s948+t7ts0+WoIfTPKwScpNa8YY4GJf+fpyhtOxUGGAZymXx25jrvF9YlAt9dg==", + "dependencies": { + "rimraf": "^3.0.2" + }, + "peerDependencies": { + "@mediapipe/face_detection": "~0.4.0", + "@tensorflow/tfjs-backend-webgl": "^3.14.0", + "@tensorflow/tfjs-converter": "^3.14.0", + "@tensorflow/tfjs-core": "^3.14.0" + } + }, + "node_modules/@tensorflow-models/face-landmarks-detection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tensorflow-models/face-landmarks-detection/-/face-landmarks-detection-1.0.2.tgz", + "integrity": "sha512-e10xKlBssv2nYg8hV93rNg7ne8NIJVT9Y1d/bpUCcBpPLJpykLw2DQ3nfPnoBpqhKDykFtKDGQVmeXvqc7H+KA==", + "dependencies": { + "rimraf": "^3.0.2" + }, + "peerDependencies": { + "@mediapipe/face_mesh": "~0.4.0", + "@tensorflow-models/face-detection": "~1.0.0", + "@tensorflow/tfjs-backend-webgl": "^3.12.0", + "@tensorflow/tfjs-converter": "^3.12.0", + "@tensorflow/tfjs-core": "^3.12.0" + } + }, + "node_modules/@tensorflow/tfjs-backend-cpu": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.21.0.tgz", + "integrity": "sha512-88S21UAdzyK0CsLUrH17GPTD+26E85OP9CqmLZslaWjWUmBkeTQ5Zqyp6iK+gELnLxPx6q7JsNEeFuPv4254lQ==", + "dependencies": { + "@types/seedrandom": "^2.4.28", + "seedrandom": "^3.0.5" + }, + "engines": { + "yarn": ">= 1.3.2" + }, + "peerDependencies": { + "@tensorflow/tfjs-core": "3.21.0" + } + }, + "node_modules/@tensorflow/tfjs-backend-wasm": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.21.0.tgz", + "integrity": "sha512-TVkJWrqukdxvIaQn9jZvtXR+7fmT7sti6NQH5OKVcBmFYIW7I3RiRRE66inVrHjEEvIVTUuW9yo9Ialn31EFIw==", + "dependencies": { + "@tensorflow/tfjs-backend-cpu": "3.21.0", + "@types/emscripten": "~0.0.34" + }, + "peerDependencies": { + "@tensorflow/tfjs-core": "3.21.0" + } + }, + "node_modules/@tensorflow/tfjs-backend-webgl": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.21.0.tgz", + "integrity": "sha512-N4zitIAT9IX8B8oe489qM3f3VcESxGZIZvHmVP8varOQakTvTX859aaPo1s8hK1qCy4BjSGbweooZe4U8D4kTQ==", + "dependencies": { + "@tensorflow/tfjs-backend-cpu": "3.21.0", + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "^2.4.28", + "@types/webgl-ext": "0.0.30", + "@types/webgl2": "0.0.6", + "seedrandom": "^3.0.5" + }, + "engines": { + "yarn": ">= 1.3.2" + }, + "peerDependencies": { + "@tensorflow/tfjs-core": "3.21.0" + } + }, + "node_modules/@tensorflow/tfjs-converter": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.21.0.tgz", + "integrity": "sha512-12Y4zVDq3yW+wSjSDpSv4HnpL2sDZrNiGSg8XNiDE4HQBdjdA+a+Q3sZF/8NV9y2yoBhL5L7V4mMLDdbZBd9/Q==", + "peerDependencies": { + "@tensorflow/tfjs-core": "3.21.0" + } + }, + "node_modules/@tensorflow/tfjs-core": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.21.0.tgz", + "integrity": "sha512-YSfsswOqWfd+M4bXIhT3hwtAb+IV8+ODwIxwdFR/7jTAPZP1wMVnSlpKnXHAN64HFOiP+Tm3HmKusEZ0+09A0w==", + "dependencies": { + "@types/long": "^4.0.1", + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "^2.4.28", + "@types/webgl-ext": "0.0.30", + "@webgpu/types": "0.1.16", + "long": "4.0.0", + "node-fetch": "~2.6.1", + "seedrandom": "^3.0.5" + }, + "engines": { + "yarn": ">= 1.3.2" + } + }, "node_modules/@testing-library/dom": { "version": "8.19.0", "license": "MIT", @@ -15227,6 +15393,11 @@ "classnames": "*" } }, + "node_modules/@types/emscripten": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-0.0.34.tgz", + "integrity": "sha512-QSb9ojDincskc+uKMI0KXp8e1NALFINCrMlp8VGKGcTSxeEyRTTKyjWw75NYrCZHUsVEEEpr1tYHpbtaC++/sQ==" + }, "node_modules/@types/eslint": { "version": "7.29.0", "license": "MIT", @@ -15244,8 +15415,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.0", - "license": "MIT" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, "node_modules/@types/glob": { "version": "7.2.0", @@ -15385,6 +15557,11 @@ "@types/lodash": "*" } }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, "node_modules/@types/mdast": { "version": "3.0.10", "license": "MIT", @@ -15427,6 +15604,11 @@ "resolved": "https://registry.npmjs.org/@types/object.fromentries/-/object.fromentries-2.0.1.tgz", "integrity": "sha512-lP1hS37U5G83Z5xzyEIMIBKjWlAwu2AnZOHCsWDPitY7lmOBDqSiVtdJZVeUJdGEbcJZBG3sif52XHf7WvKrgQ==" }, + "node_modules/@types/offscreencanvas": { + "version": "2019.3.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", + "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" + }, "node_modules/@types/parse-json": { "version": "4.0.0", "license": "MIT" @@ -15584,6 +15766,11 @@ "version": "0.16.2", "license": "MIT" }, + "node_modules/@types/seedrandom": { + "version": "2.4.30", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.30.tgz", + "integrity": "sha512-AnxLHewubLVzoF/A4qdxBGHCKifw8cY32iro3DQX9TPcetE95zBeVt3jnsvtvAUf1vwzMfwzp4t/L2yqPlnjkQ==" + }, "node_modules/@types/semver": { "version": "7.3.13", "dev": true, @@ -15639,6 +15826,16 @@ "version": "2.0.6", "license": "MIT" }, + "node_modules/@types/webgl-ext": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", + "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" + }, + "node_modules/@types/webgl2": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.6.tgz", + "integrity": "sha512-50GQhDVTq/herLMiqSQkdtRu+d5q/cWHn4VvKJtrj4DJAjo1MNkWYa2MA41BaBO1q1HgsUjuQvEOk0QHvlnAaQ==" + }, "node_modules/@types/webpack": { "version": "4.41.33", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.33.tgz", @@ -16066,6 +16263,12 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@typescript/lib-dom": { + "name": "@types/web", + "version": "0.0.99", + "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.99.tgz", + "integrity": "sha512-xMz3tOvtkZzc7RpQrDNiLe5sfMmP+fz8bOxHIZ/U8qXyvzDX4L4Ss1HCjor/O9DSelba+1iXK1VM7lruX28hiQ==" + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "license": "MIT", @@ -16281,6 +16484,11 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@webgpu/types": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.16.tgz", + "integrity": "sha512-9E61voMP4+Rze02jlTXud++Htpjyyk8vw5Hyw9FGRrmhHQg2GqbuOfwf5Klrb8vTxc2XWI3EfO7RUHMpxTj26A==" + }, "node_modules/@webpack-cli/configtest": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", @@ -16343,7 +16551,6 @@ }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/@yarnpkg/parsers": { @@ -18763,7 +18970,6 @@ }, "node_modules/buffer": { "version": "5.7.1", - "dev": true, "funding": [ { "type": "github", @@ -21106,6 +21312,14 @@ "which": "bin/which" } }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "license": "MIT", @@ -25017,6 +25231,14 @@ "ramda": "^0.28.0" } }, + "node_modules/file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "engines": { + "node": ">=8" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -25246,6 +25468,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dependencies": { + "micromatch": "^4.0.2" + } + }, "node_modules/flat": { "version": "5.0.2", "dev": true, @@ -27676,9 +27906,9 @@ } }, "node_modules/i18next": { - "version": "22.4.14", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.14.tgz", - "integrity": "sha512-VtLPtbdwGn0+DAeE00YkiKKXadkwg+rBUV+0v8v0ikEjwdiJ0gmYChVE4GIa9HXymY6wKapkL93vGT7xpq6aTw==", + "version": "22.4.15", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.15.tgz", + "integrity": "sha512-yYudtbFrrmWKLEhl6jvKUYyYunj4bTBCe2qIUYAxbXoPusY7YmdwPvOE6fx6UIfWvmlbCWDItr7wIs8KEBZ5Zg==", "funding": [ { "type": "individual", @@ -31707,6 +31937,14 @@ "node": ">=0.10.0" } }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/kleur": { "version": "3.0.3", "license": "MIT", @@ -32530,6 +32768,11 @@ "url": "https://tidelift.com/funding/github/npm/loglevel" } }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "node_modules/longest-streak": { "version": "2.0.4", "dev": true, @@ -33321,6 +33564,22 @@ "node": ">= 8" } }, + "node_modules/mirada": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/mirada/-/mirada-0.0.15.tgz", + "integrity": "sha512-mbm4c+wjBVcmUzHRLv/TfOAq+iy03D24KwGxx8H+NSXkD5EOZV9zFWbVxTvZCc9XwR0FIUhryU/kQm12SMSQ3g==", + "dependencies": { + "buffer": "^5.4.3", + "cross-fetch": "^3.0.4", + "file-type": "^12.3.0", + "misc-utils-of-mine-generic": "^0.2.31" + } + }, + "node_modules/misc-utils-of-mine-generic": { + "version": "0.2.45", + "resolved": "https://registry.npmjs.org/misc-utils-of-mine-generic/-/misc-utils-of-mine-generic-0.2.45.tgz", + "integrity": "sha512-WsG2zYiui2cdEbHF2pXmJfnjHb4zL+cy+PaYcLgIpMju98hwX89VbjlvGIfamCfEodbQ0qjCEvD3ocgkCXfMOQ==" + }, "node_modules/mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -35438,17 +35697,19 @@ } }, "node_modules/onfido-sdk-ui": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/onfido-sdk-ui/-/onfido-sdk-ui-8.1.1.tgz", - "integrity": "sha512-LyjkZH41nw3d/74HF8w+KjVgche6gAR8BgUNbX8xDB8DE4kEne8o5UCQ31MPcXIaM/EOxtz7wWF6cVE4PywPtQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/onfido-sdk-ui/-/onfido-sdk-ui-11.0.1.tgz", + "integrity": "sha512-S61h4njiuWQD3KNLRZaoobiaSjTvt1FjBOwqnsJmnkN7TD/knu8c1IyNlgztRe0Fg2CSE70rwEiO8tdlM3pqsg==", "dependencies": { - "@sentry/browser": "^6.19.7", + "@onfido/active-video-capture": "^0.22.1", + "@onfido/opencv": "^1.0.0", + "@sentry/browser": "^7.2.0", "blueimp-load-image": "~2.29.0", "classnames": "~2.2.5", "core-js": "^3.21.1", "deepmerge": "^4.2.2", "dompurify": "^2.2.6", - "enumerate-devices": "^1.1.0", + "enumerate-devices": "^1.1.1", "eventemitter2": "~2.2.2", "history": "~4.5.1", "hoist-non-react-statics": "^3.3.2", @@ -35459,7 +35720,8 @@ "socket.io-client": "^4.2.0", "supports-webp": "~1.0.3", "uuid": "^8.3.2", - "visibilityjs": "~1.2.4" + "visibilityjs": "~1.2.4", + "xstate": "^4.33.6" }, "bin": { "migrate_locales": "scripts/migrate_locales.js" @@ -36123,6 +36385,207 @@ "node": ">=0.10.0" } }, + "node_modules/patch-package": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.5.1.tgz", + "integrity": "sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^1.10.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=10", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/patch-package/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/patch-package/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/patch-package/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/patch-package/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/patch-package/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/patch-package/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/patch-package/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/patch-package/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/patch-package/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -37801,6 +38264,12 @@ "posthtml-render": "^1.0.6" } }, + "node_modules/postinstall-postinstall": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", + "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", + "hasInstallScript": true + }, "node_modules/preact": { "version": "10.13.2", "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", @@ -39277,6 +39746,15 @@ "react-dom": ">=16.6.0" } }, + "node_modules/react-webcam": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-7.0.1.tgz", + "integrity": "sha512-8E/Eb/7ksKwn5QdLn67tOR7+TdP9BZdu6E5/DSt20v8yfW/s0VGBigE6VA7R4278mBuBUowovAB3DkCfVmSPvA==", + "peerDependencies": { + "react": ">=16.2.0", + "react-dom": ">=16.2.0" + } + }, "node_modules/react-window": { "version": "1.8.9", "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.9.tgz", @@ -41216,6 +41694,11 @@ "node": ">= 8" } }, + "node_modules/seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + }, "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -43983,9 +44466,9 @@ } }, "node_modules/terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -44154,7 +44637,6 @@ }, "node_modules/tmp": { "version": "0.0.33", - "dev": true, "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" @@ -45837,10 +46319,9 @@ } }, "node_modules/webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.79.0.tgz", - "integrity": "sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==", - "license": "MIT", + "version": "5.77.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.77.0.tgz", + "integrity": "sha512-sbGNjBr5Ya5ss91yzjeJTLKyfiwo5C628AFjEa6WSXcZa4E+F57om3Cc8xLb1Jh0b243AWuSYRf3dn7HVeFQ9Q==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -47610,6 +48091,15 @@ "node": ">=0.4.0" } }, + "node_modules/xstate": { + "version": "4.37.1", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.37.1.tgz", + "integrity": "sha512-MuB7s01nV5vG2CzaBg2msXLGz7JuS+x/NBkQuZAwgEYCnWA8iQMiRz2VGxD3pcFjZAOih3fOgDD3kDaFInEx+g==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/xstate" + } + }, "node_modules/xtend": { "version": "4.0.2", "license": "MIT", @@ -49186,14 +49676,14 @@ "requires": {} }, "@deriv/api-types": { - "version": "1.0.96", - "resolved": "https://registry.npmjs.org/@deriv/api-types/-/api-types-1.0.96.tgz", - "integrity": "sha512-BQcN6WG7w5o1NIbuVkW7E7HIFKMlUYOobhkj6yIby8rONrnG7bdES9sK9cv/ABEHcVpckyYMgNpUl+96grn3Hw==" + "version": "1.0.98", + "resolved": "https://registry.npmjs.org/@deriv/api-types/-/api-types-1.0.98.tgz", + "integrity": "sha512-K/g6v7JfnZMmxdqmnEhWeaV8syo3w0pILREVbPvPc67VydC1729cpIF4lgVr/Rgax9bXEzhT2LVvjgwU6moK9g==" }, "@deriv/deriv-api": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@deriv/deriv-api/-/deriv-api-1.0.11.tgz", - "integrity": "sha512-3J3Dd0emw53BcZQgBK84na7m3OkATU3S32DTeEOWEiMJkIQhyoX7f4C4jYPVPDTJrD6Q5flILXQGaISEIqL6mg==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@deriv/deriv-api/-/deriv-api-1.0.12.tgz", + "integrity": "sha512-3/ZgSr1Uai1GS+E7j067JiHfERYhp1fctd/lUbTovW2T91xBEN6DsaiDZ/9tHwKxW65SY39Z8vl96u5+NUrLwQ==", "requires": { "dayjs": "^1.8.15", "json-stable-stringify": "^1.0.1", @@ -51688,6 +52178,16 @@ "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" }, + "@mediapipe/face_detection": { + "version": "0.4.1646425229", + "resolved": "https://registry.npmjs.org/@mediapipe/face_detection/-/face_detection-0.4.1646425229.tgz", + "integrity": "sha512-aeCN+fRAojv9ch3NXorP6r5tcGVLR3/gC1HmtqB0WEZBRXrdP6/3W/sGR0dHr1iT6ueiK95G9PVjbzFosf/hrg==" + }, + "@mediapipe/face_mesh": { + "version": "0.4.1633559619", + "resolved": "https://registry.npmjs.org/@mediapipe/face_mesh/-/face_mesh-0.4.1633559619.tgz", + "integrity": "sha512-Vc8cdjxS5+O2gnjWH9KncYpUCVXT0h714KlWAsyqJvJbIgUJBqpppbIx8yWcAzBDxm/5cYSuBI5p5ySIPxzcEg==" + }, "@motionone/animation": { "version": "10.15.1", "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", @@ -52234,6 +52734,56 @@ "@octokit/openapi-types": "^14.0.0" } }, + "@onfido/active-video-capture": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/@onfido/active-video-capture/-/active-video-capture-0.22.2.tgz", + "integrity": "sha512-wM7PJUdB0rwCpIdKoOczynqALW9zXXr/x43RGDpaGBFMdY5imbXpQtI/JaaZjQsWK6cH8FKAkKLvrxRNYCsMmQ==", + "requires": { + "@mediapipe/face_detection": "^0.4.1646425229", + "@mediapipe/face_mesh": "^0.4.1633559619", + "@onfido/castor": "^2.2.2", + "@onfido/castor-icons": "^2.12.0", + "@tensorflow-models/face-detection": "^1.0.1", + "@tensorflow-models/face-landmarks-detection": "^1.0.2", + "@tensorflow/tfjs-backend-wasm": "^3.20.0", + "@tensorflow/tfjs-backend-webgl": "^3.20.0", + "@tensorflow/tfjs-converter": "^3.20.0", + "@tensorflow/tfjs-core": "^3.20.0", + "@typescript/lib-dom": "npm:@types/web", + "patch-package": "^6.4.7", + "postinstall-postinstall": "^2.1.0", + "preact": "^10.10.6", + "react-webcam": "^7.0.0" + } + }, + "@onfido/castor": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@onfido/castor/-/castor-2.2.5.tgz", + "integrity": "sha512-Io3FTazT06FDFJGjHWNF9g0fsIKHw38L2apL//zp/vveyEV1Zce/U0fLzC8LcE5TuoMnoAYaRi6Jwogd8EN5TA==", + "requires": { + "@onfido/castor-tokens": "^1.0.0-beta.6", + "csstype": "^3.1.1" + } + }, + "@onfido/castor-icons": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/@onfido/castor-icons/-/castor-icons-2.16.0.tgz", + "integrity": "sha512-moThxhRXKxoHrsP8hIoCrtecUX8m5Hjk5yozuYTKqA24iBIQpcDe+SDG/m6slDYpT9iSXediCU4hb7XjpHYjSg==", + "requires": {} + }, + "@onfido/castor-tokens": { + "version": "1.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@onfido/castor-tokens/-/castor-tokens-1.0.0-beta.6.tgz", + "integrity": "sha512-MfwuSlNdM0Ay0cI3LLyqZGsHW0e1Y1R/0IdQKVU575PdWQx1Q/538aOZMo/a3/oSW0pMEgfOm+mNqPx057cvWA==" + }, + "@onfido/opencv": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@onfido/opencv/-/opencv-1.0.2.tgz", + "integrity": "sha512-dgUj7NJ3tohlqU6WdYiey5NBTTjI0VYp2yyL8dz1g8c/nX5tM5toOgEgyaNz7fX2tlpJO877G/CT/n5yYSb+gg==", + "requires": { + "mirada": "^0.0.15" + } + }, "@parcel/watcher": { "version": "2.0.4", "dev": true, @@ -52700,14 +53250,14 @@ } } }, - "@sentry/browser": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.19.7.tgz", - "integrity": "sha512-oDbklp4O3MtAM4mtuwyZLrgO1qDVYIujzNJQzXmi9YzymJCuzMLSRDvhY83NNDCRxf0pds4DShgYeZdbSyKraA==", + "@sentry-internal/tracing": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.48.0.tgz", + "integrity": "sha512-MFAPDTrvCtfSm0/Zbmx7HA0Q5uCfRadOUpN8Y8rP1ndz+329h2kA3mZRCuC+3/aXL11zs2CHUhcAkGjwH2vogg==", "requires": { - "@sentry/core": "6.19.7", - "@sentry/types": "6.19.7", - "@sentry/utils": "6.19.7", + "@sentry/core": "7.48.0", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0", "tslib": "^1.9.3" }, "dependencies": { @@ -52718,15 +53268,16 @@ } } }, - "@sentry/core": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.19.7.tgz", - "integrity": "sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==", - "requires": { - "@sentry/hub": "6.19.7", - "@sentry/minimal": "6.19.7", - "@sentry/types": "6.19.7", - "@sentry/utils": "6.19.7", + "@sentry/browser": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.48.0.tgz", + "integrity": "sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==", + "requires": { + "@sentry-internal/tracing": "7.48.0", + "@sentry/core": "7.48.0", + "@sentry/replay": "7.48.0", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0", "tslib": "^1.9.3" }, "dependencies": { @@ -52737,13 +53288,13 @@ } } }, - "@sentry/hub": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.19.7.tgz", - "integrity": "sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==", + "@sentry/core": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.48.0.tgz", + "integrity": "sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==", "requires": { - "@sentry/types": "6.19.7", - "@sentry/utils": "6.19.7", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0", "tslib": "^1.9.3" }, "dependencies": { @@ -52754,34 +53305,27 @@ } } }, - "@sentry/minimal": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.19.7.tgz", - "integrity": "sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ==", + "@sentry/replay": { + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.48.0.tgz", + "integrity": "sha512-8fRHMGJ0NJeIZi6UucxUTvfDPaBa7+jU1kCTLjCcuH3X/UVz5PtGLMtFSO5U8HP+mUDlPs97MP1uoDvMa4S2Ng==", "requires": { - "@sentry/hub": "6.19.7", - "@sentry/types": "6.19.7", - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "@sentry/core": "7.48.0", + "@sentry/types": "7.48.0", + "@sentry/utils": "7.48.0" } }, "@sentry/types": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.19.7.tgz", - "integrity": "sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==" + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.48.0.tgz", + "integrity": "sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==" }, "@sentry/utils": { - "version": "6.19.7", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.19.7.tgz", - "integrity": "sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.48.0.tgz", + "integrity": "sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==", "requires": { - "@sentry/types": "6.19.7", + "@sentry/types": "7.48.0", "tslib": "^1.9.3" }, "dependencies": { @@ -53761,9 +54305,9 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "@webassemblyjs/ast": { "version": "1.9.0", @@ -54784,9 +55328,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "colorette": { "version": "1.4.0", @@ -55082,9 +55626,9 @@ } }, "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "@webassemblyjs/ast": { "version": "1.9.0", @@ -55757,9 +56301,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "@webassemblyjs/ast": { "version": "1.9.0", @@ -56520,9 +57064,9 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "@webassemblyjs/ast": { "version": "1.9.0", @@ -57532,9 +58076,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "ansi-styles": { "version": "4.3.0", @@ -57865,9 +58409,9 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==" + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" }, "acorn": { "version": "7.4.1", @@ -58250,6 +58794,74 @@ "use-sync-external-store": "^1.2.0" } }, + "@tensorflow-models/face-detection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tensorflow-models/face-detection/-/face-detection-1.0.1.tgz", + "integrity": "sha512-oIEEqHy4qbkGn5xT1ldzwxK5s948+t7ts0+WoIfTPKwScpNa8YY4GJf+fpyhtOxUGGAZymXx25jrvF9YlAt9dg==", + "requires": { + "rimraf": "^3.0.2" + } + }, + "@tensorflow-models/face-landmarks-detection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tensorflow-models/face-landmarks-detection/-/face-landmarks-detection-1.0.2.tgz", + "integrity": "sha512-e10xKlBssv2nYg8hV93rNg7ne8NIJVT9Y1d/bpUCcBpPLJpykLw2DQ3nfPnoBpqhKDykFtKDGQVmeXvqc7H+KA==", + "requires": { + "rimraf": "^3.0.2" + } + }, + "@tensorflow/tfjs-backend-cpu": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-cpu/-/tfjs-backend-cpu-3.21.0.tgz", + "integrity": "sha512-88S21UAdzyK0CsLUrH17GPTD+26E85OP9CqmLZslaWjWUmBkeTQ5Zqyp6iK+gELnLxPx6q7JsNEeFuPv4254lQ==", + "requires": { + "@types/seedrandom": "^2.4.28", + "seedrandom": "^3.0.5" + } + }, + "@tensorflow/tfjs-backend-wasm": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-wasm/-/tfjs-backend-wasm-3.21.0.tgz", + "integrity": "sha512-TVkJWrqukdxvIaQn9jZvtXR+7fmT7sti6NQH5OKVcBmFYIW7I3RiRRE66inVrHjEEvIVTUuW9yo9Ialn31EFIw==", + "requires": { + "@tensorflow/tfjs-backend-cpu": "3.21.0", + "@types/emscripten": "~0.0.34" + } + }, + "@tensorflow/tfjs-backend-webgl": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-backend-webgl/-/tfjs-backend-webgl-3.21.0.tgz", + "integrity": "sha512-N4zitIAT9IX8B8oe489qM3f3VcESxGZIZvHmVP8varOQakTvTX859aaPo1s8hK1qCy4BjSGbweooZe4U8D4kTQ==", + "requires": { + "@tensorflow/tfjs-backend-cpu": "3.21.0", + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "^2.4.28", + "@types/webgl-ext": "0.0.30", + "@types/webgl2": "0.0.6", + "seedrandom": "^3.0.5" + } + }, + "@tensorflow/tfjs-converter": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.21.0.tgz", + "integrity": "sha512-12Y4zVDq3yW+wSjSDpSv4HnpL2sDZrNiGSg8XNiDE4HQBdjdA+a+Q3sZF/8NV9y2yoBhL5L7V4mMLDdbZBd9/Q==", + "requires": {} + }, + "@tensorflow/tfjs-core": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-3.21.0.tgz", + "integrity": "sha512-YSfsswOqWfd+M4bXIhT3hwtAb+IV8+ODwIxwdFR/7jTAPZP1wMVnSlpKnXHAN64HFOiP+Tm3HmKusEZ0+09A0w==", + "requires": { + "@types/long": "^4.0.1", + "@types/offscreencanvas": "~2019.3.0", + "@types/seedrandom": "^2.4.28", + "@types/webgl-ext": "0.0.30", + "@webgpu/types": "0.1.16", + "long": "4.0.0", + "node-fetch": "~2.6.1", + "seedrandom": "^3.0.5" + } + }, "@testing-library/dom": { "version": "8.19.0", "requires": { @@ -58473,6 +59085,11 @@ "classnames": "*" } }, + "@types/emscripten": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-0.0.34.tgz", + "integrity": "sha512-QSb9ojDincskc+uKMI0KXp8e1NALFINCrMlp8VGKGcTSxeEyRTTKyjWw75NYrCZHUsVEEEpr1tYHpbtaC++/sQ==" + }, "@types/eslint": { "version": "7.29.0", "requires": { @@ -58488,7 +59105,9 @@ } }, "@types/estree": { - "version": "1.0.0" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, "@types/glob": { "version": "7.2.0", @@ -58613,6 +59232,11 @@ "@types/lodash": "*" } }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, "@types/mdast": { "version": "3.0.10", "requires": { @@ -58650,6 +59274,11 @@ "resolved": "https://registry.npmjs.org/@types/object.fromentries/-/object.fromentries-2.0.1.tgz", "integrity": "sha512-lP1hS37U5G83Z5xzyEIMIBKjWlAwu2AnZOHCsWDPitY7lmOBDqSiVtdJZVeUJdGEbcJZBG3sif52XHf7WvKrgQ==" }, + "@types/offscreencanvas": { + "version": "2019.3.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.3.0.tgz", + "integrity": "sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==" + }, "@types/parse-json": { "version": "4.0.0" }, @@ -58798,6 +59427,11 @@ "@types/scheduler": { "version": "0.16.2" }, + "@types/seedrandom": { + "version": "2.4.30", + "resolved": "https://registry.npmjs.org/@types/seedrandom/-/seedrandom-2.4.30.tgz", + "integrity": "sha512-AnxLHewubLVzoF/A4qdxBGHCKifw8cY32iro3DQX9TPcetE95zBeVt3jnsvtvAUf1vwzMfwzp4t/L2yqPlnjkQ==" + }, "@types/semver": { "version": "7.3.13", "dev": true @@ -58849,6 +59483,16 @@ "@types/unist": { "version": "2.0.6" }, + "@types/webgl-ext": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/webgl-ext/-/webgl-ext-0.0.30.tgz", + "integrity": "sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==" + }, + "@types/webgl2": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/webgl2/-/webgl2-0.0.6.tgz", + "integrity": "sha512-50GQhDVTq/herLMiqSQkdtRu+d5q/cWHn4VvKJtrj4DJAjo1MNkWYa2MA41BaBO1q1HgsUjuQvEOk0QHvlnAaQ==" + }, "@types/webpack": { "version": "4.41.33", "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.33.tgz", @@ -59090,6 +59734,11 @@ } } }, + "@typescript/lib-dom": { + "version": "npm:@types/web@0.0.99", + "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.99.tgz", + "integrity": "sha512-xMz3tOvtkZzc7RpQrDNiLe5sfMmP+fz8bOxHIZ/U8qXyvzDX4L4Ss1HCjor/O9DSelba+1iXK1VM7lruX28hiQ==" + }, "@webassemblyjs/ast": { "version": "1.11.1", "requires": { @@ -59296,6 +59945,11 @@ "@xtuc/long": "4.2.2" } }, + "@webgpu/types": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.16.tgz", + "integrity": "sha512-9E61voMP4+Rze02jlTXud++Htpjyyk8vw5Hyw9FGRrmhHQg2GqbuOfwf5Klrb8vTxc2XWI3EfO7RUHMpxTj26A==" + }, "@webpack-cli/configtest": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", @@ -59336,8 +59990,7 @@ "version": "4.2.2" }, "@yarnpkg/lockfile": { - "version": "1.1.0", - "dev": true + "version": "1.1.0" }, "@yarnpkg/parsers": { "version": "3.0.0-rc.32", @@ -61153,7 +61806,6 @@ }, "buffer": { "version": "5.7.1", - "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -62857,6 +63509,14 @@ } } }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, "cross-spawn": { "version": "7.0.3", "requires": { @@ -65637,6 +66297,11 @@ "ramda": "^0.28.0" } }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==" + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -65809,6 +66474,14 @@ "path-exists": "^4.0.0" } }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "requires": { + "micromatch": "^4.0.2" + } + }, "flat": { "version": "5.0.2", "dev": true @@ -67587,9 +68260,9 @@ } }, "i18next": { - "version": "22.4.14", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.14.tgz", - "integrity": "sha512-VtLPtbdwGn0+DAeE00YkiKKXadkwg+rBUV+0v8v0ikEjwdiJ0gmYChVE4GIa9HXymY6wKapkL93vGT7xpq6aTw==", + "version": "22.4.15", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.15.tgz", + "integrity": "sha512-yYudtbFrrmWKLEhl6jvKUYyYunj4bTBCe2qIUYAxbXoPusY7YmdwPvOE6fx6UIfWvmlbCWDItr7wIs8KEBZ5Zg==", "requires": { "@babel/runtime": "^7.20.6" } @@ -70205,6 +70878,14 @@ "kind-of": { "version": "6.0.3" }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "requires": { + "graceful-fs": "^4.1.11" + } + }, "kleur": { "version": "3.0.3" }, @@ -70780,6 +71461,11 @@ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz", "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==" }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "longest-streak": { "version": "2.0.4", "dev": true @@ -71333,6 +72019,22 @@ "yallist": "^4.0.0" } }, + "mirada": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/mirada/-/mirada-0.0.15.tgz", + "integrity": "sha512-mbm4c+wjBVcmUzHRLv/TfOAq+iy03D24KwGxx8H+NSXkD5EOZV9zFWbVxTvZCc9XwR0FIUhryU/kQm12SMSQ3g==", + "requires": { + "buffer": "^5.4.3", + "cross-fetch": "^3.0.4", + "file-type": "^12.3.0", + "misc-utils-of-mine-generic": "^0.2.31" + } + }, + "misc-utils-of-mine-generic": { + "version": "0.2.45", + "resolved": "https://registry.npmjs.org/misc-utils-of-mine-generic/-/misc-utils-of-mine-generic-0.2.45.tgz", + "integrity": "sha512-WsG2zYiui2cdEbHF2pXmJfnjHb4zL+cy+PaYcLgIpMju98hwX89VbjlvGIfamCfEodbQ0qjCEvD3ocgkCXfMOQ==" + }, "mississippi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", @@ -72851,17 +73553,19 @@ } }, "onfido-sdk-ui": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/onfido-sdk-ui/-/onfido-sdk-ui-8.1.1.tgz", - "integrity": "sha512-LyjkZH41nw3d/74HF8w+KjVgche6gAR8BgUNbX8xDB8DE4kEne8o5UCQ31MPcXIaM/EOxtz7wWF6cVE4PywPtQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/onfido-sdk-ui/-/onfido-sdk-ui-11.0.1.tgz", + "integrity": "sha512-S61h4njiuWQD3KNLRZaoobiaSjTvt1FjBOwqnsJmnkN7TD/knu8c1IyNlgztRe0Fg2CSE70rwEiO8tdlM3pqsg==", "requires": { - "@sentry/browser": "^6.19.7", + "@onfido/active-video-capture": "^0.22.1", + "@onfido/opencv": "^1.0.0", + "@sentry/browser": "^7.2.0", "blueimp-load-image": "~2.29.0", "classnames": "~2.2.5", "core-js": "^3.21.1", "deepmerge": "^4.2.2", "dompurify": "^2.2.6", - "enumerate-devices": "^1.1.0", + "enumerate-devices": "^1.1.1", "eventemitter2": "~2.2.2", "history": "~4.5.1", "hoist-non-react-statics": "^3.3.2", @@ -72872,7 +73576,8 @@ "socket.io-client": "^4.2.0", "supports-webp": "~1.0.3", "uuid": "^8.3.2", - "visibilityjs": "~1.2.4" + "visibilityjs": "~1.2.4", + "xstate": "^4.33.6" }, "dependencies": { "classnames": { @@ -73331,6 +74036,148 @@ "pascalcase": { "version": "0.1.1" }, + "patch-package": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.5.1.tgz", + "integrity": "sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==", + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^1.10.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -74356,6 +75203,11 @@ "posthtml-render": "^1.0.6" } }, + "postinstall-postinstall": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", + "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==" + }, "preact": { "version": "10.13.2", "resolved": "https://registry.npmjs.org/preact/-/preact-10.13.2.tgz", @@ -75444,6 +76296,12 @@ "prop-types": "^15.6.2" } }, + "react-webcam": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-7.0.1.tgz", + "integrity": "sha512-8E/Eb/7ksKwn5QdLn67tOR7+TdP9BZdu6E5/DSt20v8yfW/s0VGBigE6VA7R4278mBuBUowovAB3DkCfVmSPvA==", + "requires": {} + }, "react-window": { "version": "1.8.9", "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.9.tgz", @@ -76789,6 +77647,11 @@ } } }, + "seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + }, "select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -78832,9 +79695,9 @@ } }, "terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -78942,7 +79805,6 @@ }, "tmp": { "version": "0.0.33", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -80121,9 +80983,9 @@ "version": "6.1.0" }, "webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.79.0.tgz", - "integrity": "sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==", + "version": "5.77.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.77.0.tgz", + "integrity": "sha512-sbGNjBr5Ya5ss91yzjeJTLKyfiwo5C628AFjEa6WSXcZa4E+F57om3Cc8xLb1Jh0b243AWuSYRf3dn7HVeFQ9Q==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -81461,6 +82323,11 @@ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" }, + "xstate": { + "version": "4.37.1", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.37.1.tgz", + "integrity": "sha512-MuB7s01nV5vG2CzaBg2msXLGz7JuS+x/NBkQuZAwgEYCnWA8iQMiRz2VGxD3pcFjZAOih3fOgDD3kDaFInEx+g==" + }, "xtend": { "version": "4.0.2" }, diff --git a/packages/account/package.json b/packages/account/package.json index d6b8107a4467..e3ca35bc75df 100644 --- a/packages/account/package.json +++ b/packages/account/package.json @@ -39,14 +39,14 @@ "js-cookie": "^2.2.1", "mobx": "^6.6.1", "mobx-react": "^7.5.1", - "onfido-sdk-ui": "8.1.1", + "onfido-sdk-ui": "^11.0.0", "prop-types": "^15.7.2", "qrcode.react": "^1.0.0", "react": "^17.0.2", "react-dom": "^17.0.2", + "react-i18next": "^11.11.0", "react-router": "^5.2.0", - "react-router-dom": "^5.2.0", - "react-i18next": "^11.11.0" + "react-router-dom": "^5.2.0" }, "devDependencies": { "@babel/eslint-parser": "^7.17.0", @@ -54,9 +54,9 @@ "@jest/globals": "^26.5.3", "@testing-library/react": "^12.0.0", "@testing-library/user-event": "^13.5.0", - "babel-eslint": "^10.1.0", "@types/react": "^18.0.7", "@types/react-dom": "^18.0.0", + "babel-eslint": "^10.1.0", "babel-loader": "^8.1.0", "clean-webpack-plugin": "^3.0.0", "css-loader": "^5.0.1", diff --git a/packages/account/src/Sections/Verification/ProofOfIdentity/onfido-sdk-view.jsx b/packages/account/src/Sections/Verification/ProofOfIdentity/onfido-sdk-view.jsx index 229298bc9f70..c1a9d1e00f2f 100644 --- a/packages/account/src/Sections/Verification/ProofOfIdentity/onfido-sdk-view.jsx +++ b/packages/account/src/Sections/Verification/ProofOfIdentity/onfido-sdk-view.jsx @@ -90,6 +90,7 @@ const OnfidoSdkView = ({ country_code, documents_supported, handleViewComplete, } : false, }, + hideCountrySelection: true, }, }, 'face', From 375756d70e9213d066793190e128e5d388ef94ab Mon Sep 17 00:00:00 2001 From: Akmal Djumakhodjaev Date: Thu, 27 Apr 2023 19:43:37 +0800 Subject: [PATCH 03/16] Akmal / fix: tick history logic on language change (#8156) * fix: tick history logic on language change * chore: remove unused variables * feat: trigger vercel --- packages/core/src/Stores/contract-replay-store.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/Stores/contract-replay-store.js b/packages/core/src/Stores/contract-replay-store.js index cda5072fc45c..fb464765ae74 100644 --- a/packages/core/src/Stores/contract-replay-store.js +++ b/packages/core/src/Stores/contract-replay-store.js @@ -305,7 +305,7 @@ export default class ContractReplayStore extends BaseStore { if (this.has_error) { this.removeErrorMessage(); this.onMount(contract_id); - } else { + } else if (!this.root_store.common.is_language_changing){ history.push(routes.reports); } return Promise.resolve(); From 680d578462bc2ecf1b7b4fdbc9356184239b0c8e Mon Sep 17 00:00:00 2001 From: Aizad Ridzo <103104395+aizad-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 19:45:45 +0800 Subject: [PATCH 04/16] Aizad/wall 213/mobile language issue (#8274) * chore: added an wait authorize on p2pCompleteOrders * fix: refactor code * chore: fix language bug on mobile * fix: long loading after changing language * fix: clear console error * fix: clear console error PT.2 * fix: clear console error PT.2 * fix: commit suggestions Co-authored-by: yashim-deriv --------- Co-authored-by: yashim-deriv --- .../components/src/components/page-overlay/page-overlay.tsx | 1 - packages/core/src/Services/socket-general.js | 2 +- packages/core/src/Stores/notification-store.js | 2 +- packages/p2p/src/stores/general-store.js | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/components/src/components/page-overlay/page-overlay.tsx b/packages/components/src/components/page-overlay/page-overlay.tsx index 399cc1934289..30dcc52a0e34 100644 --- a/packages/components/src/components/page-overlay/page-overlay.tsx +++ b/packages/components/src/components/page-overlay/page-overlay.tsx @@ -3,7 +3,6 @@ import React, { MouseEventHandler } from 'react'; import ReactDOM from 'react-dom'; import { CSSTransition } from 'react-transition-group'; import Icon from '../icon/icon'; -import { useOnClickOutside } from '../../hooks'; type TPageOverlay = { header?: React.ReactNode; diff --git a/packages/core/src/Services/socket-general.js b/packages/core/src/Services/socket-general.js index 121fa510b8b1..dfd58c994fc2 100644 --- a/packages/core/src/Services/socket-general.js +++ b/packages/core/src/Services/socket-general.js @@ -98,7 +98,7 @@ const BinarySocketGeneral = (() => { const setResidence = residence => { if (residence) { client_store.setResidence(residence); - WS.landingCompany(residence); + WS.landingCompany(residence).then(client_store.responseLandingCompany); } }; diff --git a/packages/core/src/Stores/notification-store.js b/packages/core/src/Stores/notification-store.js index 88485e9d851b..9df2a507d7f8 100644 --- a/packages/core/src/Stores/notification-store.js +++ b/packages/core/src/Stores/notification-store.js @@ -1597,7 +1597,7 @@ export default class NotificationStore extends BaseStore { const response = await WS.send?.({ p2p_order_list: 1, active: 0 }); if (!response?.error) { - this.p2p_completed_orders = response.p2p_order_list?.list || []; + this.p2p_completed_orders = response?.p2p_order_list?.list || []; } } } diff --git a/packages/p2p/src/stores/general-store.js b/packages/p2p/src/stores/general-store.js index c416eb50ffea..6ef869ceec13 100644 --- a/packages/p2p/src/stores/general-store.js +++ b/packages/p2p/src/stores/general-store.js @@ -739,7 +739,7 @@ export default class GeneralStore extends BaseStore { return; } - const { p2p_order_list, p2p_order_info } = order_response; + const { p2p_order_list = [], p2p_order_info = {} } = order_response; const { order_store } = this.root_store; if (p2p_order_list) { From 4aba8a778155cf7973f83ee6b61a7e7531c0a8de Mon Sep 17 00:00:00 2001 From: Maryia <103177211+maryia-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:11:41 +0300 Subject: [PATCH 05/16] build: update charts version to 1.1.9 (#8369) --- package-lock.json | 14 +++++++------- packages/bot-web-ui/package.json | 2 +- packages/core/package.json | 2 +- packages/trader/package.json | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7d65c4cf655e..a6b78f0bc580 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@contentpass/zxcvbn": "^4.4.3", "@deriv/api-types": "^1.0.94", "@deriv/deriv-api": "^1.0.11", - "@deriv/deriv-charts": "1.1.8", + "@deriv/deriv-charts": "1.1.9", "@deriv/js-interpreter": "^3.0.0", "@deriv/ui": "^0.6.0", "@enykeev/react-virtualized": "^9.22.4-mirror.1", @@ -2812,9 +2812,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@deriv/deriv-charts": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-1.1.8.tgz", - "integrity": "sha512-IBAHcWK99sl8SefAb9zPxKV4AX3EauxELNOpxx5DmeHlq/peOnL5qf2HN7fRq/uOtZvn5Ol1QRnJAFsSFU2irA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-1.1.9.tgz", + "integrity": "sha512-8XfzNX1Ukoq90cf9PQcHu+cb0O+5i82RvjKgqDQt/U9buMlgFea79CPjxa9z+EG/i69mOvUYgMS48di2eNZX+w==", "dependencies": { "@welldone-software/why-did-you-render": "^3.3.8", "classnames": "^2.3.1", @@ -49706,9 +49706,9 @@ } }, "@deriv/deriv-charts": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-1.1.8.tgz", - "integrity": "sha512-IBAHcWK99sl8SefAb9zPxKV4AX3EauxELNOpxx5DmeHlq/peOnL5qf2HN7fRq/uOtZvn5Ol1QRnJAFsSFU2irA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@deriv/deriv-charts/-/deriv-charts-1.1.9.tgz", + "integrity": "sha512-8XfzNX1Ukoq90cf9PQcHu+cb0O+5i82RvjKgqDQt/U9buMlgFea79CPjxa9z+EG/i69mOvUYgMS48di2eNZX+w==", "requires": { "@welldone-software/why-did-you-render": "^3.3.8", "classnames": "^2.3.1", diff --git a/packages/bot-web-ui/package.json b/packages/bot-web-ui/package.json index 4f8571e7241e..c7a3016a595b 100644 --- a/packages/bot-web-ui/package.json +++ b/packages/bot-web-ui/package.json @@ -66,7 +66,7 @@ "dependencies": { "@deriv/bot-skeleton": "^1.0.0", "@deriv/components": "^1.0.0", - "@deriv/deriv-charts": "1.1.8", + "@deriv/deriv-charts": "1.1.9", "@deriv/shared": "^1.0.0", "@deriv/translations": "^1.0.0", "classnames": "^2.2.6", diff --git a/packages/core/package.json b/packages/core/package.json index 656ae287e6e7..047057c17489 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -94,7 +94,7 @@ "@deriv/cfd": "^1.0.0", "@deriv/components": "^1.0.0", "@deriv/deriv-api": "^1.0.11", - "@deriv/deriv-charts": "1.1.8", + "@deriv/deriv-charts": "1.1.9", "@deriv/hooks": "^1.0.0", "@deriv/p2p": "^0.7.3", "@deriv/reports": "^1.0.0", diff --git a/packages/trader/package.json b/packages/trader/package.json index 3820b4c1c5e6..612df0c6b790 100644 --- a/packages/trader/package.json +++ b/packages/trader/package.json @@ -82,7 +82,7 @@ "@deriv/api-types": "^1.0.94", "@deriv/components": "^1.0.0", "@deriv/deriv-api": "^1.0.11", - "@deriv/deriv-charts": "1.1.8", + "@deriv/deriv-charts": "1.1.9", "@deriv/reports": "^1.0.0", "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", From bbe4118973ec15fa01a6ecb41de4c7c0fe05baa4 Mon Sep 17 00:00:00 2001 From: Farrah Mae Ochoa <82315152+farrah-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 16:30:48 +0400 Subject: [PATCH 06/16] farrah/90734/fix: notification for completed orders (#8000) * fix: notification for completed orders * fix: notification key * fix: remove notifications component in cashier * fix: refactor code --- .../src/App/Containers/app-notification-messages.jsx | 4 +++- packages/core/src/Stores/notification-store.js | 9 ++++----- packages/p2p/src/components/app.jsx | 3 +-- .../p2p/src/components/order-details/order-details.jsx | 4 ++-- .../components/orders/order-table/order-table-row.jsx | 4 ++-- packages/p2p/src/stores/general-store.js | 2 +- packages/p2p/src/stores/order-store.js | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/core/src/App/Containers/app-notification-messages.jsx b/packages/core/src/App/Containers/app-notification-messages.jsx index 665eab683ca8..8a6a94f0b2da 100644 --- a/packages/core/src/App/Containers/app-notification-messages.jsx +++ b/packages/core/src/App/Containers/app-notification-messages.jsx @@ -151,7 +151,9 @@ const AppNotificationMessages = ({ //TODO (yauheni-kryzhyk): showing pop-up only for specific messages. the rest of notifications are hidden. this logic should be changed in the upcoming new pop-up notifications implementation const filtered_excluded_notifications = notifications.filter(message => - priority_toast_messages.includes(message.key) ? message : excluded_notifications.includes(message.key) + priority_toast_messages.includes(message.key) || message.type.includes('p2p') + ? message + : excluded_notifications.includes(message.key) ); const notifications_sublist = diff --git a/packages/core/src/Stores/notification-store.js b/packages/core/src/Stores/notification-store.js index 9df2a507d7f8..2b97f73f1a0b 100644 --- a/packages/core/src/Stores/notification-store.js +++ b/packages/core/src/Stores/notification-store.js @@ -182,8 +182,7 @@ export default class NotificationStore extends BaseStore { this.notification_messages = [...this.notification_messages, notification].sort(sortFn); if ( - (notification.key && notification.key.includes('svg')) || - notification.key === 'p2p_daily_limit_increase' || + ['svg', 'p2p'].some(key => notification.key?.includes(key)) || (excluded_notifications && !excluded_notifications.includes(notification.key)) ) { this.updateNotifications(this.notification_messages); @@ -260,7 +259,7 @@ export default class NotificationStore extends BaseStore { if (refined_list.length) { refined_list.map(refined => { - if (refined === 'p2p_daily_limit_increase') { + if (refined.includes('p2p')) { if (is_p2p_notifications_visible === false) { this.removeNotificationByKey({ key: refined }); } @@ -583,7 +582,7 @@ export default class NotificationStore extends BaseStore { } showCompletedOrderNotification(advertiser_name, order_id) { - const notification_key = `order-${order_id}`; + const notification_key = `p2p_order_${order_id}`; const notification_redirect_action = routes.cashier_p2p === window.location.pathname @@ -1521,7 +1520,7 @@ export default class NotificationStore extends BaseStore { updateNotifications(notifications_array) { this.notifications = notifications_array.filter(message => - (message.key && message.key.includes('svg')) || message.key === 'p2p_daily_limit_increase' + ['svg', 'p2p'].some(key => message.key?.includes(key)) ? message : excluded_notifications && !excluded_notifications.includes(message.key) ); diff --git a/packages/p2p/src/components/app.jsx b/packages/p2p/src/components/app.jsx index 7de0969e9bc9..f505e244afaf 100644 --- a/packages/p2p/src/components/app.jsx +++ b/packages/p2p/src/components/app.jsx @@ -18,7 +18,7 @@ const App = () => { const { balance, is_logging_in } = client; const { setOnRemount } = modules?.cashier?.general_store; - const { notification_messages_ui: Notifications, is_mobile } = ui; + const { is_mobile } = ui; const { setP2POrderProps } = notifications; const history = useHistory(); @@ -190,7 +190,6 @@ const App = () => { return ( // TODO Wrap components with StoreProvider during routing p2p card
- diff --git a/packages/p2p/src/components/order-details/order-details.jsx b/packages/p2p/src/components/order-details/order-details.jsx index f5104a21a964..a6d6b201bb26 100644 --- a/packages/p2p/src/components/order-details/order-details.jsx +++ b/packages/p2p/src/components/order-details/order-details.jsx @@ -163,10 +163,10 @@ const OrderDetails = observer(() => { onClickDone: () => { order_store.setOrderRating(id); removeNotificationMessage({ - key: `order-${id}`, + key: `p2p_order_${id}`, }); removeNotificationByKey({ - key: `order-${id}`, + key: `p2p_order_${id}`, }); }, onClickSkip: () => { diff --git a/packages/p2p/src/components/orders/order-table/order-table-row.jsx b/packages/p2p/src/components/orders/order-table/order-table-row.jsx index 42724f80531e..0020520f94fc 100644 --- a/packages/p2p/src/components/orders/order-table/order-table-row.jsx +++ b/packages/p2p/src/components/orders/order-table/order-table-row.jsx @@ -110,8 +110,8 @@ const OrderRow = ({ row: order }) => { hideModal(); should_show_order_details.current = true; order_store.setRatingValue(0); - removeNotificationMessage({ key: `order-${id}` }); - removeNotificationByKey({ key: `order-${id}` }); + removeNotificationMessage({ key: `p2p_order_${id}` }); + removeNotificationByKey({ key: `p2p_order_${id}` }); order_store.setIsLoading(true); order_store.setOrders([]); order_store.loadMoreOrders({ startIndex: 0 }); diff --git a/packages/p2p/src/stores/general-store.js b/packages/p2p/src/stores/general-store.js index 6ef869ceec13..b12eef1e1fbe 100644 --- a/packages/p2p/src/stores/general-store.js +++ b/packages/p2p/src/stores/general-store.js @@ -373,7 +373,7 @@ export default class GeneralStore extends BaseStore { showCompletedOrderNotification(advertiser_name, order_id) { const { order_store } = this.root_store; - const notification_key = `order-${order_id}`; + const notification_key = `p2p_order_${order_id}`; // we need to refresh notifications in notifications-store in the case of a bug when user closes the notification, the notification count is not synced up with the closed notification this.external_stores?.notifications.refreshNotifications(); diff --git a/packages/p2p/src/stores/order-store.js b/packages/p2p/src/stores/order-store.js index 4539a8307f51..fd92ead8839f 100644 --- a/packages/p2p/src/stores/order-store.js +++ b/packages/p2p/src/stores/order-store.js @@ -458,7 +458,7 @@ export default class OrderStore { if (get_order_status.is_completed_order && !get_order_status.is_reviewable) { // Remove notification once order review period is finished - const notification_key = `order-${p2p_order_info.id}`; + const notification_key = `p2p_order_${p2p_order_info.id}`; general_store.external_stores?.notifications.removeNotificationMessage({ key: notification_key }); general_store.external_stores?.notifications.removeNotificationByKey({ key: notification_key }); } From 23360189026d0967abc8c0817cbdb939c88655b5 Mon Sep 17 00:00:00 2001 From: "Ali(Ako) Hosseini" Date: Thu, 27 Apr 2023 20:40:52 +0800 Subject: [PATCH 07/16] Ako/FEQ-113/Datadog Integration (#8322) * build: add dotenv-webpack & DefinePlugin packages * build: add env vars to runtime * feat: enable datadog on the app * feat: enable heatmap and frustration * chore: use Nullish coalescing operator * feat: add samplerate values to env vars * chore: use Nullish coalescing operator * fix: enable session replay --- package-lock.json | 53 ++++++++++++++++++++++++ packages/core/build/constants.js | 11 +++++ packages/core/package.json | 4 +- packages/core/src/Utils/Datadog/index.ts | 24 +++++++++++ packages/core/src/index.tsx | 1 + 5 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 packages/core/src/Utils/Datadog/index.ts diff --git a/package-lock.json b/package-lock.json index a6b78f0bc580..94226f147f51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "@babel/preset-typescript": "^7.16.5", "@binary-com/binary-document-uploader": "^2.4.7", "@contentpass/zxcvbn": "^4.4.3", + "@datadog/browser-rum": "^4.37.0", "@deriv/api-types": "^1.0.94", "@deriv/deriv-api": "^1.0.11", "@deriv/deriv-charts": "1.1.9", @@ -2780,6 +2781,36 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@datadog/browser-core": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@datadog/browser-core/-/browser-core-4.39.0.tgz", + "integrity": "sha512-jSwXfdSPaeU9xFLepour7d2jATk/VVcjab69/42gmWkh1MtzDloTd8RaKSVRo0Y7CsHroO6Mdzp+enEivI7NkA==" + }, + "node_modules/@datadog/browser-rum": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@datadog/browser-rum/-/browser-rum-4.39.0.tgz", + "integrity": "sha512-7owNySSTxWnNbwRjDCC+fHRU2ycWb3lPDGn+VvQE3US+o9MRlEbFesaLO5/3Nj0A+vJGq6Ao35d++eCHl5dw2Q==", + "dependencies": { + "@datadog/browser-core": "4.39.0", + "@datadog/browser-rum-core": "4.39.0" + }, + "peerDependencies": { + "@datadog/browser-logs": "4.39.0" + }, + "peerDependenciesMeta": { + "@datadog/browser-logs": { + "optional": true + } + } + }, + "node_modules/@datadog/browser-rum-core": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@datadog/browser-rum-core/-/browser-rum-core-4.39.0.tgz", + "integrity": "sha512-UhAEELzt7ZQlAbWSaMJ7Ubwfdxk+uig8xm39iktNyTNCcxN92aNHWsNhsz5FtWXe3Oci7xKSDZf3ccjFl7KABw==", + "dependencies": { + "@datadog/browser-core": "4.39.0" + } + }, "node_modules/@deriv/api-types": { "version": "1.0.98", "resolved": "https://registry.npmjs.org/@deriv/api-types/-/api-types-1.0.98.tgz", @@ -49675,6 +49706,28 @@ "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "requires": {} }, + "@datadog/browser-core": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@datadog/browser-core/-/browser-core-4.39.0.tgz", + "integrity": "sha512-jSwXfdSPaeU9xFLepour7d2jATk/VVcjab69/42gmWkh1MtzDloTd8RaKSVRo0Y7CsHroO6Mdzp+enEivI7NkA==" + }, + "@datadog/browser-rum": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@datadog/browser-rum/-/browser-rum-4.39.0.tgz", + "integrity": "sha512-7owNySSTxWnNbwRjDCC+fHRU2ycWb3lPDGn+VvQE3US+o9MRlEbFesaLO5/3Nj0A+vJGq6Ao35d++eCHl5dw2Q==", + "requires": { + "@datadog/browser-core": "4.39.0", + "@datadog/browser-rum-core": "4.39.0" + } + }, + "@datadog/browser-rum-core": { + "version": "4.39.0", + "resolved": "https://registry.npmjs.org/@datadog/browser-rum-core/-/browser-rum-core-4.39.0.tgz", + "integrity": "sha512-UhAEELzt7ZQlAbWSaMJ7Ubwfdxk+uig8xm39iktNyTNCcxN92aNHWsNhsz5FtWXe3Oci7xKSDZf3ccjFl7KABw==", + "requires": { + "@datadog/browser-core": "4.39.0" + } + }, "@deriv/api-types": { "version": "1.0.98", "resolved": "https://registry.npmjs.org/@deriv/api-types/-/api-types-1.0.98.tgz", diff --git a/packages/core/build/constants.js b/packages/core/build/constants.js index 7fa140e87943..66621d5fb059 100644 --- a/packages/core/build/constants.js +++ b/packages/core/build/constants.js @@ -32,6 +32,8 @@ const { svg_file_loaders, svg_loaders, } = require('./loaders-config'); +const Dotenv = require('dotenv-webpack'); +const { DefinePlugin } = require('webpack'); const IS_RELEASE = process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'staging'; @@ -124,6 +126,15 @@ const MINIMIZERS = !IS_RELEASE const plugins = ({ base, is_test_env }) => { return [ + new Dotenv({}), + new DefinePlugin({ + 'process.env.DATADOG_APPLICATION_ID': JSON.stringify(process.env.DATADOG_APPLICATION_ID), + 'process.env.DATADOG_CLIENT_TOKEN': JSON.stringify(process.env.DATADOG_CLIENT_TOKEN), + 'process.env.DATADOG_SESSION_REPLAY_SAMPLE_RATE': JSON.stringify( + process.env.DATADOG_SESSION_REPLAY_SAMPLE_RATE + ), + 'process.env.DATADOG_SESSION_SAMPLE_RATE': JSON.stringify(process.env.DATADOG_SESSION_SAMPLE_RATE), + }), new CleanWebpackPlugin(), new CopyPlugin(copyConfig(base)), new HtmlWebPackPlugin(htmlOutputConfig(IS_RELEASE)), diff --git a/packages/core/package.json b/packages/core/package.json index 047057c17489..c4fa0439ab5e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -134,6 +134,8 @@ "react-tiny-popover": "^7.0.1", "react-transition-group": "4.4.2", "react-window": "^1.8.5", - "web-push-notifications": "^3.33.0" + "web-push-notifications": "^3.33.0", + "dotenv-webpack": "^8.0.1", + "@datadog/browser-rum": "^4.37.0" } } diff --git a/packages/core/src/Utils/Datadog/index.ts b/packages/core/src/Utils/Datadog/index.ts new file mode 100644 index 000000000000..c2f541290f9c --- /dev/null +++ b/packages/core/src/Utils/Datadog/index.ts @@ -0,0 +1,24 @@ +import { datadogRum } from '@datadog/browser-rum'; + +const DATADOG_APP_ID = process.env.DATADOG_APPLICATION_ID ?? ''; +const DATADOG_CLIENT_TOKEN = process.env.DATADOG_CLIENT_TOKEN ?? ''; +const DATADOG_SESSION_SAMPLE_RATE = process.env.DATADOG_SESSION_SAMPLE_RATE ?? 10; +const DATADOG_SESSION_REPLAY_SAMPLE_RATE = process.env.DATADOG_SESSION_REPLAY_SAMPLE_RATE ?? 1; + +datadogRum.init({ + applicationId: DATADOG_APP_ID, + clientToken: DATADOG_CLIENT_TOKEN, + site: 'datadoghq.com', + service: 'deriv.com', + env: 'production', + sessionSampleRate: +DATADOG_SESSION_SAMPLE_RATE, + sessionReplaySampleRate: +DATADOG_SESSION_REPLAY_SAMPLE_RATE, + trackUserInteractions: true, + trackResources: true, + trackLongTasks: true, + defaultPrivacyLevel: 'mask-user-input', + version: '1.0.0', + trackFrustrations: true, + enableExperimentalFeatures: ['clickmap'], +}); +datadogRum.startSessionReplayRecording(); diff --git a/packages/core/src/index.tsx b/packages/core/src/index.tsx index 41d277c0d3b2..64e7f187f359 100644 --- a/packages/core/src/index.tsx +++ b/packages/core/src/index.tsx @@ -10,6 +10,7 @@ import initStore from 'App/initStore'; import App from 'App/app.jsx'; import { checkAndSetEndpointFromUrl } from '@deriv/shared'; import AppNotificationMessages from './App/Containers/app-notification-messages.jsx'; +import './Utils/Datadog'; // to enable datadog if ( !!window?.localStorage.getItem?.('debug_service_worker') || // To enable local service worker related development From f885f7eaa1d2fb7d75c04eeea8e1d60e731a4558 Mon Sep 17 00:00:00 2001 From: Aizad Ridzo <103104395+aizad-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 20:54:10 +0800 Subject: [PATCH 08/16] chore: added account-switcher in cashier (#8246) * chore: added account-switcher in cashier * chore: updated with new userflow for cashier page * fix: clear console error * fix: remove unused packages in hooks package * fix: updated links for popup to be shown * fix: resolve comments * fix: added optional value and fix modal close when clicking outside or pressing esc * fix: make traders hub header cashier as default * fix: account switcher mobile view --- .../cashier-container/virtual/virtual.tsx | 8 +- .../cashier-onboarding-side-note.spec.tsx | 6 +- .../cashier-onboarding-side-note.tsx | 39 ++-- .../src/containers/cashier/cashier.tsx | 12 +- .../Components/Layout/Header/menu-links.jsx | 4 +- .../App/Containers/Layout/header/header.jsx | 2 +- .../Layout/header/trading-hub-header.jsx | 166 +++++++++++++----- .../ready-to-deposit-modal.tsx | 5 +- .../_common/layout/trading-hub-header.scss | 23 ++- packages/hooks/package.json | 2 - .../__tests__/useSwitchToRealAccount.spec.tsx | 71 -------- packages/hooks/src/index.ts | 1 - packages/hooks/src/useSwitchToRealAccount.ts | 48 ----- packages/stores/src/mockStore.ts | 1 + packages/stores/types.ts | 3 +- 15 files changed, 185 insertions(+), 206 deletions(-) delete mode 100644 packages/hooks/src/__tests__/useSwitchToRealAccount.spec.tsx delete mode 100644 packages/hooks/src/useSwitchToRealAccount.ts diff --git a/packages/cashier/src/components/cashier-container/virtual/virtual.tsx b/packages/cashier/src/components/cashier-container/virtual/virtual.tsx index 73c395505059..6ff660e6c9e3 100644 --- a/packages/cashier/src/components/cashier-container/virtual/virtual.tsx +++ b/packages/cashier/src/components/cashier-container/virtual/virtual.tsx @@ -40,13 +40,7 @@ const Virtual = observer(() => { i18n_default_text='You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.' components={[
, - { - toggleAccountsDialog(); - }} - />, + , ]} /> diff --git a/packages/cashier/src/components/cashier-onboarding/__tests__/cashier-onboarding-side-note.spec.tsx b/packages/cashier/src/components/cashier-onboarding/__tests__/cashier-onboarding-side-note.spec.tsx index 40e0e90131b8..5b14e1bb40a0 100644 --- a/packages/cashier/src/components/cashier-onboarding/__tests__/cashier-onboarding-side-note.spec.tsx +++ b/packages/cashier/src/components/cashier-onboarding/__tests__/cashier-onboarding-side-note.spec.tsx @@ -34,9 +34,10 @@ describe('', () => { }); it('should show the proper messages, with fiat currency and can_change_fiat_currency={false} property', () => { + if (mockRootStore.client) mockRootStore.client.loginid = 'CR12345678'; renderCashierOnboardingSideNote(); - expect(screen.getByText('Your fiat account currency is set to USD.')).toBeInTheDocument(); + expect(screen.getByText('This is your USD account CR12345678')).toBeInTheDocument(); expect(screen.getByTestId('dt_side_note_text')).toHaveTextContent( 'If you want to change your account currency, please contact us via live chat.' ); @@ -55,11 +56,12 @@ describe('', () => { it('should show the proper messages when is_crypto is true', () => { if (mockRootStore.client) mockRootStore.client.currency = 'BTC'; + if (mockRootStore.client) mockRootStore.client.loginid = 'CR12345678'; props.is_crypto = true; renderCashierOnboardingSideNote(); - expect(screen.getByText('This is your BTC account.')).toBeInTheDocument(); + expect(screen.getByText('This is your BTC account CR12345678')).toBeInTheDocument(); expect( screen.getByText("Don't want to trade in BTC? You can open another cryptocurrency account.") ).toBeInTheDocument(); diff --git a/packages/cashier/src/components/cashier-onboarding/cashier-onboarding-side-note.tsx b/packages/cashier/src/components/cashier-onboarding/cashier-onboarding-side-note.tsx index 9ae2997f8988..6a167d72ae5a 100644 --- a/packages/cashier/src/components/cashier-onboarding/cashier-onboarding-side-note.tsx +++ b/packages/cashier/src/components/cashier-onboarding/cashier-onboarding-side-note.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Localize } from '@deriv/translations'; import { Icon, Text } from '@deriv/components'; -import { getCurrencyDisplayCode, getPlatformSettings, routes } from '@deriv/shared'; +import { getCurrencyDisplayCode, getPlatformSettings, routes, isMobile } from '@deriv/shared'; import { useStore, observer } from '@deriv/stores'; import { useCashierStore } from '../../stores/useCashierStores'; import './cashier-onboarding.scss'; @@ -13,7 +13,7 @@ type TCashierOnboardingSideNoteProps = { const CashierOnboardingSideNote = observer(({ is_crypto }: TCashierOnboardingSideNoteProps) => { const { client, ui } = useStore(); const { general_store } = useCashierStore(); - const { currency } = client; + const { currency, is_eu, loginid, is_low_risk } = client; const { openRealAccountSignup } = ui; const { setDepositTarget } = general_store; @@ -44,17 +44,34 @@ const CashierOnboardingSideNote = observer(({ is_crypto }: TCashierOnboardingSid ); }; + const getHeaderTitle = () => { + if (is_low_risk && !is_crypto) { + const regulation_text = is_eu ? 'EU' : 'non-EU'; + return ( + + ); + } + return ( + + ); + }; + return (
- - {is_crypto ? ( - - ) : ( - - )} + + {getHeaderTitle()} {getSideNoteDescription()} diff --git a/packages/cashier/src/containers/cashier/cashier.tsx b/packages/cashier/src/containers/cashier/cashier.tsx index bb674f8afb96..4d3901c49a2e 100644 --- a/packages/cashier/src/containers/cashier/cashier.tsx +++ b/packages/cashier/src/containers/cashier/cashier.tsx @@ -11,12 +11,7 @@ import { VerticalTab, Loading, } from '@deriv/components'; -import { - useOnrampVisible, - useAccountTransferVisible, - useSwitchToRealAccount, - useP2PNotificationCount, -} from '@deriv/hooks'; +import { useOnrampVisible, useAccountTransferVisible, useP2PNotificationCount } from '@deriv/hooks'; import { getSelectedRoute, getStaticUrl, isMobile, routes, WS } from '@deriv/shared'; import AccountPromptDialog from '../../components/account-prompt-dialog'; import ErrorDialog from '../../components/error-dialog'; @@ -77,13 +72,8 @@ const Cashier = observer(({ history, location, routes: routes_config }: TCashier const { is_account_setting_loaded, is_logged_in, is_logging_in } = client; const is_account_transfer_visible = useAccountTransferVisible(); const is_onramp_visible = useOnrampVisible(); - const switchToReal = useSwitchToRealAccount(); const p2p_notification_count = useP2PNotificationCount(); - React.useEffect(() => { - switchToReal(); - }, [switchToReal]); - React.useEffect(() => { toggleCashier(); // we still need to populate the tabs shown on cashier diff --git a/packages/core/src/App/Components/Layout/Header/menu-links.jsx b/packages/core/src/App/Components/Layout/Header/menu-links.jsx index cdcc806ed1d8..2466a078c292 100644 --- a/packages/core/src/App/Components/Layout/Header/menu-links.jsx +++ b/packages/core/src/App/Components/Layout/Header/menu-links.jsx @@ -46,7 +46,9 @@ const CashierTab = observer(() => { const history = useHistory(); const toggle_modal_routes = - window.location.pathname === routes.root || window.location.pathname === routes.traders_hub; + window.location.pathname === routes.root || + window.location.pathname === routes.traders_hub || + window.location.pathname === routes.bot; const toggleModal = () => { if (toggle_modal_routes && !has_any_real_account) { diff --git a/packages/core/src/App/Containers/Layout/header/header.jsx b/packages/core/src/App/Containers/Layout/header/header.jsx index f786dd8ed9a4..b3c5c2bde537 100644 --- a/packages/core/src/App/Containers/Layout/header/header.jsx +++ b/packages/core/src/App/Containers/Layout/header/header.jsx @@ -11,7 +11,7 @@ const Header = ({ is_logged_in }) => { const { is_appstore } = React.useContext(PlatformContext); const { pathname } = useLocation(); const trading_hub_routes = - pathname === routes.traders_hub || pathname.startsWith(routes.cashier) || pathname.startsWith(routes.account); + pathname === routes.traders_hub || pathname.startsWith(routes.account) || pathname.startsWith(routes.cashier); if (is_appstore) { return ; diff --git a/packages/core/src/App/Containers/Layout/header/trading-hub-header.jsx b/packages/core/src/App/Containers/Layout/header/trading-hub-header.jsx index 02f33ea23752..ca0e529182cb 100644 --- a/packages/core/src/App/Containers/Layout/header/trading-hub-header.jsx +++ b/packages/core/src/App/Containers/Layout/header/trading-hub-header.jsx @@ -1,9 +1,9 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; -import { useHistory, withRouter } from 'react-router-dom'; +import { useHistory, useLocation, withRouter } from 'react-router-dom'; import { DesktopWrapper, Icon, MobileWrapper, Popover, Text, Button } from '@deriv/components'; -import { routes, platforms } from '@deriv/shared'; +import { routes, platforms, formatMoney } from '@deriv/shared'; import { Localize } from '@deriv/translations'; import { ToggleNotifications, MenuLinks } from 'App/Components/Layout/Header'; import platform_config from 'App/Constants/platform-config'; @@ -14,6 +14,7 @@ import DerivBrandLogo from 'Assets/SvgComponents/header/deriv-brand-logo.svg'; import DerivBrandLogoDark from 'Assets/SvgComponents/header/deriv-brand-logo-dark.svg'; import RealAccountSignup from 'App/Containers/RealAccountSignup'; import CurrencySelectionModal from '../../CurrencySelectionModal'; +import AccountInfo from 'App/Components/Layout/Header/account-info'; import SetAccountCurrencyModal from 'App/Containers/SetAccountCurrencyModal'; import { useIsRealAccountNeededForCashier } from '@deriv/hooks'; @@ -101,11 +102,21 @@ const TradingHubHeader = ({ setIsOnboardingVisited, toggleIsTourOpen, toggleNotifications, - has_any_real_account, + acc_switcher_disabled_message, + account_type, + balance, + is_acc_switcher_disabled, is_virtual, + currency, + country_standpoint, + is_acc_switcher_on, + toggleAccountsDialog, + has_any_real_account, toggleReadyToDepositModal, toggleNeedRealAccountForCashierModal, }) => { + const { pathname } = useLocation(); + const cashier_routes = pathname.startsWith(routes.cashier); const is_mf = loginid?.startsWith('MF'); const filterPlatformsForClients = payload => @@ -135,6 +146,70 @@ const TradingHubHeader = ({ } }; + const CashierMobileLinks = () => ( + +
+ +
+
+ +
+
+ ); + + const DefaultMobileLinks = () => ( + +
+ +
+
+ +
+ } + should_disable_pointer_events + zIndex={9999} + > + + + + +
+ +
+
+ ); + return (
{header_extension}
} - {is_dark_mode ? ( - - ) : ( - - )} +
+ {is_dark_mode ? ( + + ) : ( + + )} +
@@ -187,6 +264,22 @@ const TradingHubHeader = ({ + {cashier_routes && ( +
+ +
+ )} @@ -194,39 +287,7 @@ const TradingHubHeader = ({
-
- -
-
- -
- } - should_disable_pointer_events - zIndex={9999} - > - - - - -
-
- + {cashier_routes ? : }
@@ -238,7 +299,6 @@ const TradingHubHeader = ({ }; TradingHubHeader.propTypes = { - content_flag: PropTypes.string, header_extension: PropTypes.any, is_app_disabled: PropTypes.bool, is_dark_mode: PropTypes.bool, @@ -255,12 +315,18 @@ TradingHubHeader.propTypes = { platform: PropTypes.string, setIsOnboardingVisited: PropTypes.func, settings_extension: PropTypes.array, - should_show_exit_traders_modal: PropTypes.bool, - switchToCRAccount: PropTypes.func, toggleIsTourOpen: PropTypes.func, toggleNotifications: PropTypes.func, - has_any_real_account: PropTypes.bool, + acc_switcher_disabled_message: PropTypes.string, + account_type: PropTypes.string, + balance: PropTypes.string, + currency: PropTypes.string, + is_acc_switcher_disabled: PropTypes.bool, + country_standpoint: PropTypes.object, + is_acc_switcher_on: PropTypes.bool, is_virtual: PropTypes.bool, + toggleAccountsDialog: PropTypes.func, + has_any_real_account: PropTypes.bool, toggleReadyToDepositModal: PropTypes.func, toggleNeedRealAccountForCashierModal: PropTypes.func, }; @@ -281,10 +347,16 @@ export default connect(({ client, common, notifications, ui, traders_hub }) => ( loginid: client.loginid, platform: common.platform, setIsOnboardingVisited: traders_hub.setIsOnboardingVisited, - should_show_exit_traders_modal: traders_hub.should_show_exit_traders_modal, + acc_switcher_disabled_message: ui.account_switcher_disabled_message, + account_type: client.account_type, + balance: client.balance, + currency: client.currency, + country_standpoint: client.country_standpoint, + is_acc_switcher_on: !!ui.is_accounts_switcher_on, + is_virtual: client.is_virtual, + toggleAccountsDialog: ui.toggleAccountsDialog, toggleIsTourOpen: traders_hub.toggleIsTourOpen, has_any_real_account: client.has_any_real_account, - is_virtual: client.is_virtual, toggleReadyToDepositModal: ui.toggleReadyToDepositModal, toggleNeedRealAccountForCashierModal: ui.toggleNeedRealAccountForCashierModal, content_flag: traders_hub.content_flag, diff --git a/packages/core/src/App/Containers/Modals/ready-to-deposit-modal/ready-to-deposit-modal.tsx b/packages/core/src/App/Containers/Modals/ready-to-deposit-modal/ready-to-deposit-modal.tsx index 51defc4af8fe..a9a3c66a6dcd 100644 --- a/packages/core/src/App/Containers/Modals/ready-to-deposit-modal/ready-to-deposit-modal.tsx +++ b/packages/core/src/App/Containers/Modals/ready-to-deposit-modal/ready-to-deposit-modal.tsx @@ -26,15 +26,16 @@ const ReadyToDepositModal = observer(() => { title={localize('Ready to deposit and trade for real?')} confirm_button_text={localize('Add real account')} onConfirm={createAccount} - cancel_button_text={localize('Stay in demo')} + cancel_button_text={localize('Maybe later')} onCancel={onClose} is_closed_on_cancel disableApp={disableApp} enableApp={enableApp} is_closed_on_confirm is_visible={is_open} - dismissable={false} + dismissable={true} has_close_icon={false} + onEscapeButtonCancel={onClose} > {localize('You need a real Deriv account to access the cashier.')} diff --git a/packages/core/src/sass/app/_common/layout/trading-hub-header.scss b/packages/core/src/sass/app/_common/layout/trading-hub-header.scss index 90e7d879ba74..4a948f861510 100644 --- a/packages/core/src/sass/app/_common/layout/trading-hub-header.scss +++ b/packages/core/src/sass/app/_common/layout/trading-hub-header.scss @@ -22,7 +22,8 @@ } @media screen and (max-width: 380px) { - &__cashier-button { + &__cashier-button, + &__logo-wrapper { display: none; } } @@ -77,6 +78,26 @@ @include mobile { padding: 0 2rem 0 1rem; } + &__cashier { + @include mobile { + padding-right: 1rem; + } + } + } + + &--account-toggle { + height: #{$HEADER_HEIGHT - 1px}; + @include mobile { + height: 3.8rem; + } + .acc-info__wrapper { + @include mobile { + margin-right: 0; + } + .acc-info__separator { + width: unset; + } + } } } } diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 6545c3f8eaf1..72a068039eae 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -7,8 +7,6 @@ "@deriv/api": "^1.0.0", "@deriv/shared": "^1.0.0", "@deriv/stores": "^1.0.0", - "history": "^5.0.0", - "react-router-dom": "^5.2.0", "react": "^17.0.2" }, "devDependencies": { diff --git a/packages/hooks/src/__tests__/useSwitchToRealAccount.spec.tsx b/packages/hooks/src/__tests__/useSwitchToRealAccount.spec.tsx deleted file mode 100644 index b0723493a81c..000000000000 --- a/packages/hooks/src/__tests__/useSwitchToRealAccount.spec.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import * as React from 'react'; -import { mockStore, StoreProvider, useStore } from '@deriv/stores'; -import { renderHook } from '@testing-library/react-hooks'; -import useSwitchToRealAccount from '../useSwitchToRealAccount'; -import { createMemoryHistory } from 'history'; -import { Router } from 'react-router-dom'; - -jest.setTimeout(30000); - -const TestComponent = () => { - const switchToReal = useSwitchToRealAccount(); - - React.useEffect(() => { - switchToReal(); - }, [switchToReal]); - - return <>; -}; - -describe('useSwitchToRealAccount', () => { - test('should not switch if is already real account', async () => { - const mock = mockStore({ - client: { - is_virtual: false, - }, - }); - - const wrapper = ({ children }: { children: JSX.Element }) => ( - - - {children} - - ); - - const { result } = renderHook(() => useStore(), { wrapper }); - - expect(result.current.client.is_virtual).toBe(false); - - result.current.client.switchAccount('real'); - - expect(result.current.client.is_virtual).toBe(false); - }); - - test('should not switch if doesnt have real account', () => { - const history = createMemoryHistory(); - const mock = mockStore({ - client: { - is_virtual: true, - has_active_real_account: false, - }, - }); - - const wrapper = ({ children }: { children: JSX.Element }) => ( - - - - - {children} - - ); - - const { result } = renderHook(() => useStore(), { wrapper }); - - expect(result.current.client.is_virtual).toBe(true); - - result.current.client.switchAccount('real'); - - expect(history.location.pathname).toBe('/appstore/traders-hub'); - expect(result.current.client.is_virtual).toBe(true); - }); -}); diff --git a/packages/hooks/src/index.ts b/packages/hooks/src/index.ts index 99c1ff75bf46..17ab10880ba8 100644 --- a/packages/hooks/src/index.ts +++ b/packages/hooks/src/index.ts @@ -11,7 +11,6 @@ export { default as useHasSetCurrency } from './useHasSetCurrency'; export { default as useHasActiveRealAccount } from './useHasActiveRealAccount'; export { default as useP2PNotificationCount } from './useP2PNotificationCount'; export { default as useOnrampVisible } from './useOnrampVisible'; -export { default as useSwitchToRealAccount } from './useSwitchToRealAccount'; export { default as useIsRealAccountNeededForCashier } from './useIsRealAccountNeededForCashier'; export { default as useHasSvgAccount } from './useHasSvgAccount'; export { default as useTotalAccountBalance } from './useTotalAccountBalance'; diff --git a/packages/hooks/src/useSwitchToRealAccount.ts b/packages/hooks/src/useSwitchToRealAccount.ts deleted file mode 100644 index 348eebc9af15..000000000000 --- a/packages/hooks/src/useSwitchToRealAccount.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { useStore } from '@deriv/stores'; -import React from 'react'; -import { routes } from '@deriv/shared'; -import { useHistory } from 'react-router-dom'; - -const useSwitchToRealAccount = () => { - const { client, notifications, ui } = useStore(); - const { account_list, has_active_real_account, is_virtual, switchAccount, accounts, loginid } = client; - const { showAccountSwitchToRealNotification } = notifications; - const { toggleReadyToDepositModal } = ui; - const history = useHistory(); - - const switchToReal = React.useCallback(() => { - if (is_virtual && has_active_real_account) { - const new_account = account_list?.find(account => { - const account_loginid = account?.loginid; - return account_loginid && (account_loginid?.startsWith('CR') || account_loginid?.startsWith('MF')); - }); - - if (new_account && new_account.loginid) { - const new_loginid = new_account.loginid; - const is_same_account = loginid === new_loginid; - - if (!is_same_account) { - switchAccount(new_loginid); - showAccountSwitchToRealNotification(new_loginid, accounts[new_loginid].currency || 'USD'); - } - } - } else if (is_virtual && !has_active_real_account) { - history.push(routes.traders_hub); - toggleReadyToDepositModal(); - } - }, [ - accounts, - loginid, - account_list, - has_active_real_account, - is_virtual, - switchAccount, - showAccountSwitchToRealNotification, - toggleReadyToDepositModal, - history, - ]); - - return switchToReal; -}; - -export default useSwitchToRealAccount; diff --git a/packages/stores/src/mockStore.ts b/packages/stores/src/mockStore.ts index 4cc88799a073..5f3ca938a1ad 100644 --- a/packages/stores/src/mockStore.ts +++ b/packages/stores/src/mockStore.ts @@ -131,6 +131,7 @@ const mock = (): TStores => { is_eu: false, is_financial_account: false, is_financial_information_incomplete: false, + is_low_risk: false, is_identity_verification_needed: false, is_landing_company_loaded: false, is_logged_in: false, diff --git a/packages/stores/types.ts b/packages/stores/types.ts index 0d5a3d30d937..af3759bd6509 100644 --- a/packages/stores/types.ts +++ b/packages/stores/types.ts @@ -124,6 +124,7 @@ type TClientStore = { is_landing_company_loaded: boolean; is_logged_in: boolean; is_logging_in: boolean; + is_low_risk: boolean; is_pending_proof_of_ownership: boolean; is_switching: boolean; is_tnc_needed: boolean; @@ -228,7 +229,7 @@ type TUiStore = { is_language_settings_modal_on: boolean; is_mobile: boolean; notification_messages_ui: JSX.Element | null; - openRealAccountSignup: (value: string) => void; + openRealAccountSignup: (value?: string) => void; setCurrentFocus: (value: string) => void; setDarkMode: (is_dark_mode_on: boolean) => boolean; setIsClosingCreateRealAccountModal: (value: boolean) => void; From 0362145f18b15e9f667e9926e1ab64456419bc05 Mon Sep 17 00:00:00 2001 From: Rostik Kayko <119863957+rostislav-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 16:32:38 +0300 Subject: [PATCH 09/16] Rostislav / 78085 / fix: POA form submit button now doesn't remain disabled after invalid address data is being submitted (#7273) * refactor: ensure isSubmitting is set to false by the end of the onSubmitValues function execution * refactor: upd front-end validation for address to match back-end one + upd permitted_characters * refactor: fixed the small issue with different apostrophes * refactor: aligned POA and user profile address line 1 and 2 validation with the back-end * test: added some tests for address validation * refactor: typo fix * refactor: some refactoring for localize calls * refactor: added degree symbol to permitted characters messages * refactor: validAddress function refactored * refactor: minor fix for previous refactor * refactor: another small fix * refactor: added a constant for address lines permitted special characters * refactor: renamed an exported string constant according to code style + fixed the tests * refactor: might as well change this * refactor: simplified validAddress and fixed the tests * refactor: unnecessary import removed * refactor: a better way to test the thing found * refactor: naming change * fix: fixing validation problems * fix: should be fixed this time hopefully * fix: test mock fix --- .../src/Configs/address-details-config.js | 18 ++++++-- .../PersonalDetails/personal-details.jsx | 19 +++----- .../ProofOfAddress/proof-of-address-form.jsx | 22 ++++------ packages/cfd/src/Components/cfd-poa.tsx | 8 ++-- .../core/src/Constants/form-error-messages.js | 5 ++- .../declarative-validation-rules.spec.js | 43 +++++++++++++++++++ .../declarative-validation-rules.ts | 24 ++++++++++- .../validation/form-error-messages-types.ts | 1 + .../src/utils/validation/regex-validation.ts | 4 +- 9 files changed, 106 insertions(+), 38 deletions(-) create mode 100644 packages/shared/src/utils/validation/__tests__/declarative-validation-rules.spec.js diff --git a/packages/account/src/Configs/address-details-config.js b/packages/account/src/Configs/address-details-config.js index aeee513b9aba..592dcf99c071 100644 --- a/packages/account/src/Configs/address-details-config.js +++ b/packages/account/src/Configs/address-details-config.js @@ -1,5 +1,11 @@ import { localize } from '@deriv/translations'; -import { generateValidationFunction, getDefaultFields, getErrorMessages, regex_checks } from '@deriv/shared'; +import { + generateValidationFunction, + getDefaultFields, + getErrorMessages, + regex_checks, + address_permitted_special_characters_message, +} from '@deriv/shared'; const address_details_config = ({ account_settings, is_svg }) => { const is_gb = account_settings.country_code === 'gb'; @@ -16,7 +22,10 @@ const address_details_config = ({ account_settings, is_svg }) => { ['length', localize('Only {{max}} characters, please.', { max: 70 }), { max: 70 }], [ 'regular', - localize("Use only the following special characters: . , ' : ; ( ) @ # / -"), + localize('Use only the following special characters: {{permitted_characters}}', { + permitted_characters: address_permitted_special_characters_message, + interpolation: { escapeValue: false }, + }), { regex: regex_checks.address_details.address_line_1, }, @@ -31,7 +40,10 @@ const address_details_config = ({ account_settings, is_svg }) => { ['length', localize('Only {{max}} characters, please.', { max: 70 }), { max: 70 }], [ 'regular', - localize("Use only the following special characters: . , ' : ; ( ) @ # / -"), + localize('Use only the following special characters: {{permitted_characters}}', { + permitted_characters: address_permitted_special_characters_message, + interpolation: { escapeValue: false }, + }), { regex: regex_checks.address_details.address_line_2, }, diff --git a/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx b/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx index 3c00ae233292..2d23dff625cf 100644 --- a/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx +++ b/packages/account/src/Sections/Profile/PersonalDetails/personal-details.jsx @@ -375,20 +375,13 @@ export const PersonalDetailsForm = ({ } } - const permitted_characters = ". , ' : ; ( ) @ # / -"; - const address_validation_message = localize( - 'Use only the following special characters: {{ permitted_characters }}', - { - permitted_characters, - interpolation: { escapeValue: false }, - } - ); - - if (values.address_line_1 && !validAddress(values.address_line_1)) { - errors.address_line_1 = address_validation_message; + const address_line_1_validation_result = validAddress(values.address_line_1, { is_required: true }); + if (!address_line_1_validation_result.is_ok) { + errors.address_line_1 = address_line_1_validation_result.message; } - if (values.address_line_2 && !validAddress(values.address_line_2)) { - errors.address_line_2 = address_validation_message; + const address_line_2_validation_result = validAddress(values.address_line_2); + if (!address_line_2_validation_result.is_ok) { + errors.address_line_2 = address_line_2_validation_result.message; } if (values.address_city && !validLetterSymbol(values.address_city)) { diff --git a/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx b/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx index 6a1780e4e832..bdd63409d207 100644 --- a/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx +++ b/packages/account/src/Sections/Verification/ProofOfAddress/proof-of-address-form.jsx @@ -96,20 +96,13 @@ const ProofOfAddressForm = ({ const required_fields = ['address_line_1', 'address_city']; validateValues(val => val, required_fields, localize('This field is required')); - const permitted_characters = ". , ' : ; ( ) @ # / -"; - const address_validation_message = localize( - 'Use only the following special characters: {{ permitted_characters }}', - { - permitted_characters, - interpolation: { escapeValue: false }, - } - ); - - if (values.address_line_1 && !validAddress(values.address_line_1)) { - errors.address_line_1 = address_validation_message; + const address_line_1_validation_result = validAddress(values.address_line_1, { is_required: true }); + if (!address_line_1_validation_result.is_ok) { + errors.address_line_1 = address_line_1_validation_result.message; } - if (values.address_line_2 && !validAddress(values.address_line_2)) { - errors.address_line_2 = address_validation_message; + const address_line_2_validation_result = validAddress(values.address_line_2); + if (!address_line_2_validation_result.is_ok) { + errors.address_line_2 = address_line_2_validation_result.message; } const validation_letter_symbol_message = localize( @@ -168,6 +161,7 @@ const ProofOfAddressForm = ({ if (data.error) { setStatus({ msg: data.error.message }); setFormState({ ...form_state, ...{ is_btn_loading: false } }); + setSubmitting(false); } else { // force request to update settings cache since settings have been updated WS.authorized.storage @@ -175,6 +169,7 @@ const ProofOfAddressForm = ({ .then(({ error, get_settings }) => { if (error) { setAPIInitialLoadError(error.message); + setSubmitting(false); return; } const { address_line_1, address_line_2, address_city, address_state, address_postcode } = @@ -203,6 +198,7 @@ const ProofOfAddressForm = ({ WS.authorized.storage.getAccountStatus().then(({ error, get_account_status }) => { if (error) { setAPIInitialLoadError(error.message); + setSubmitting(false); return; } setFormState( diff --git a/packages/cfd/src/Components/cfd-poa.tsx b/packages/cfd/src/Components/cfd-poa.tsx index fb51a5963f55..b1961950dfc6 100644 --- a/packages/cfd/src/Components/cfd-poa.tsx +++ b/packages/cfd/src/Components/cfd-poa.tsx @@ -112,10 +112,10 @@ const CFDPOA = ({ onSave, index, onSubmit, refreshNotifications, ...props }: TCF const validations: Record boolean>> = { address_line_1: [ (v: string) => !!v && !v.match(/^\s*$/), - (v: string) => validAddress(v), (v: string) => validLength(v, { max: 70 }), + (v: string) => validAddress(v).is_ok, ], - address_line_2: [(v: string) => !v || validAddress(v), (v: string) => validLength(v, { max: 70 })], + address_line_2: [(v: string) => validLength(v, { max: 70 }), (v: string) => validAddress(v).is_ok], address_city: [ (v: string) => !!v && !v.match(/^\s*$/), (v: string) => validLength(v, { min: 1, max: 35 }), @@ -128,12 +128,12 @@ const CFDPOA = ({ onSave, index, onSubmit, refreshNotifications, ...props }: TCF const validation_errors: Record> = { address_line_1: [ localize('First line of address is required'), - localize('First line of address is not in a proper format.'), localize('This should not exceed {{max}} characters.', { max: 70 }), + localize('First line of address is not in a proper format.'), ], address_line_2: [ - localize('Second line of address is not in a proper format.'), localize('This should not exceed {{max}} characters.', { max: 70 }), + localize('Second line of address is not in a proper format.'), ], address_city: [ localize('Town/City is required.'), diff --git a/packages/core/src/Constants/form-error-messages.js b/packages/core/src/Constants/form-error-messages.js index b69d902b55ad..5bfa6009b38e 100644 --- a/packages/core/src/Constants/form-error-messages.js +++ b/packages/core/src/Constants/form-error-messages.js @@ -1,9 +1,12 @@ import { localize } from '@deriv/translations'; +import { address_permitted_special_characters_message } from '@deriv/shared'; export const FORM_ERROR_MESSAGES = { + empty_address: () => localize('This field is required.'), address: () => localize('Use only the following special characters: {{permitted_characters}}', { - permitted_characters: ". , ' : ; ( ) @ # / -", + permitted_characters: address_permitted_special_characters_message, + interpolation: { escapeValue: false }, }), barrier: () => localize('Only numbers and these special characters are allowed: {{permitted_characters}}', { diff --git a/packages/shared/src/utils/validation/__tests__/declarative-validation-rules.spec.js b/packages/shared/src/utils/validation/__tests__/declarative-validation-rules.spec.js new file mode 100644 index 000000000000..536584204330 --- /dev/null +++ b/packages/shared/src/utils/validation/__tests__/declarative-validation-rules.spec.js @@ -0,0 +1,43 @@ +import { validAddress, initFormErrorMessages } from '../declarative-validation-rules'; + +const form_error_messages = { + address: () => '', + empty_address: () => '', + maxNumber: max_value => '', +}; + +describe('validAddress', () => { + beforeAll(() => { + initFormErrorMessages(form_error_messages); + }); + it('should accept empty string by default', () => { + expect(validAddress('').is_ok).toBe(true); + }); + it('should accept a bunch of spaces by default', () => { + expect(validAddress(' ').is_ok).toBe(true); + }); + it('should not accept empty string if is_required is true', () => { + expect(validAddress('', { is_required: true }).is_ok).toBe(false); + }); + it('should not accept a bunch of spaces if is_required is true', () => { + expect(validAddress(' ', { is_required: true }).is_ok).toBe(false); + }); + it('should not accept string longer than 70 characters', () => { + expect(validAddress('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod').is_ok).toBe( + false + ); + }); + it('should accept English and decimals', () => { + expect(validAddress('221B Baker Street').is_ok).toBe(true); + }); + it('should accept permitted characters', () => { + expect(validAddress(". , ' : ; ( ) ° @ # / -").is_ok).toBe(true); + }); + it('should accept different languages', () => { + expect(validAddress('Улица đường phố ถนน شارع 街道 거리').is_ok).toBe(true); + }); + it('should not accept special characters other then the permitted ones', () => { + const not_permitted_characters = '§±!$%^&*+=\\?{}[]|'; + [...not_permitted_characters].forEach(c => expect(validAddress(c).is_ok).toBe(false)); + }); +}); diff --git a/packages/shared/src/utils/validation/declarative-validation-rules.ts b/packages/shared/src/utils/validation/declarative-validation-rules.ts index 313d72c320fa..f30b42302ca5 100644 --- a/packages/shared/src/utils/validation/declarative-validation-rules.ts +++ b/packages/shared/src/utils/validation/declarative-validation-rules.ts @@ -9,6 +9,7 @@ export type TOptions = { type?: string; decimals?: string | number; regex?: RegExp; + is_required?: boolean; }; const validRequired = (value?: string | number /* , options, field */) => { @@ -19,7 +20,26 @@ const validRequired = (value?: string | number /* , options, field */) => { const str = value.toString().replace(/\s/g, ''); return str.length > 0; }; -export const validAddress = (value: string) => !/[`~!$%^&*_=+[}{\]\\"?><|]+/.test(value); +export const address_permitted_special_characters_message = ". , ' : ; ( ) ° @ # / -"; +export const validAddress = (value: string, options?: TOptions) => { + if (options?.is_required && (!value || value.match(/^\s*$/))) { + return { + is_ok: false, + message: form_error_messages.empty_address(), + }; + } else if (!validLength(value, { min: 0, max: 70 })) { + return { + is_ok: false, + message: form_error_messages.maxNumber(70), + }; + } else if (!/^[\p{L}\p{Nd}\s'.,:;()\u00b0@#/-]{0,70}$/u.test(value)) { + return { + is_ok: false, + message: form_error_messages.address(), + }; + } + return { is_ok: true }; +}; export const validPostCode = (value: string) => value === '' || /^[A-Za-z0-9][A-Za-z0-9\s-]*$/.test(value); export const validTaxID = (value: string) => /(?!^$|\s+)[A-Za-z0-9./\s-]$/.test(value); export const validPhone = (value: string) => /^\+?([0-9-]+\s)*[0-9-]+$/.test(value); @@ -32,7 +52,7 @@ export const validEmail = (value: string) => /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9.-]+\. const validBarrier = (value: string) => /^[+-]?\d+\.?\d*$/.test(value); const validGeneral = (value: string) => !/[`~!@#$%^&*)(_=+[}{\]\\/";:?><|]+/.test(value); const validRegular = (value: string, options: TOptions) => options.regex?.test(value); -const confirmRequired = (value: string) => !!value === true; +const confirmRequired = (value: string) => !!value; const checkPOBox = (value: string) => !/p[.\s]+o[.\s]+box/i.test(value); const validEmailToken = (value: string) => value.trim().length === 8; diff --git a/packages/shared/src/utils/validation/form-error-messages-types.ts b/packages/shared/src/utils/validation/form-error-messages-types.ts index 4496c0ae7225..b04937dbb60d 100644 --- a/packages/shared/src/utils/validation/form-error-messages-types.ts +++ b/packages/shared/src/utils/validation/form-error-messages-types.ts @@ -2,6 +2,7 @@ type TMessage = () => string; type TParameter = string | number; export type TFormErrorMessagesTypes = Record< + | 'empty_address' | 'address' | 'barrier' | 'email' diff --git a/packages/shared/src/utils/validation/regex-validation.ts b/packages/shared/src/utils/validation/regex-validation.ts index 739585be8a1e..9f5f01a78d92 100644 --- a/packages/shared/src/utils/validation/regex-validation.ts +++ b/packages/shared/src/utils/validation/regex-validation.ts @@ -1,8 +1,8 @@ export const regex_checks = { address_details: { address_city: /^\p{L}[\p{L}\s'.-]{0,99}$/u, - address_line_1: /^([a-zA-Z0-9’'.,:;()@#/-]+\s)*[a-zA-Z0-9’'.,:;()@#/-]{1,70}$/, - address_line_2: /^([a-zA-Z0-9’'.,:;()@#/-]+\s)*[a-zA-Z0-9’'.,:;()@#/-]{0,70}$/, + address_line_1: /^[\p{L}\p{Nd}\s'.,:;()\u00b0@#/-]{1,70}$/u, + address_line_2: /^[\p{L}\p{Nd}\s'.,:;()\u00b0@#/-]{0,70}$/u, address_postcode: /^[a-zA-Z0-9\s-]{0,20}$/, address_state: /^[\w\s\W'.;,-]{0,99}$/, non_jersey_postcode: /^(?!\s*je.*)[a-zA-Z0-9\s-]*/i, From 58a517175508a4e9c1d08b4100259b5025a08276 Mon Sep 17 00:00:00 2001 From: aum-deriv <125039206+aum-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 17:48:38 +0400 Subject: [PATCH 10/16] Aum/wall 225/handle new crypto withdrawal age limit error message (#8187) * fix: show the correct error message prompt for crypto withdrawal age limit error * fix: covered all error codes mapped to CryptoWithdrawalError --- .../src/components/error-dialog/error-dialog.tsx | 13 ++++++++++++- .../src/stores/__tests__/withdraw-store.spec.ts | 7 +++++-- packages/cashier/src/stores/withdraw-store.ts | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/cashier/src/components/error-dialog/error-dialog.tsx b/packages/cashier/src/components/error-dialog/error-dialog.tsx index 0c74d823c43b..99d1f8cdea22 100644 --- a/packages/cashier/src/components/error-dialog/error-dialog.tsx +++ b/packages/cashier/src/components/error-dialog/error-dialog.tsx @@ -50,6 +50,7 @@ const ErrorDialog = observer(({ className, error = {} }: TErrorDialogProps) => { 'Fiat2CryptoTransferOverLimit', 'Crypto2FiatTransferOverLimit', 'Crypto2CryptoTransferOverLimit', + 'CryptoLimitAgeVerified', ].includes(error_code) ) { setDetails({ @@ -79,7 +80,17 @@ const ErrorDialog = observer(({ className, error = {} }: TErrorDialogProps) => { /> ), }); - } else if (error_code === 'CryptoWithdrawalError') { + } else if ( + error_code && + [ + 'CryptoMissingRequiredParameter', + 'CryptoWithdrawalBalanceExceeded', + 'CryptoWithdrawalLimitExceeded', + 'CryptoWithdrawalMaxReached', + 'CryptoWithdrawalNotAuthenticated', + 'CryptoWithdrawalError', + ].includes(error_code) + ) { setDetails({ title: localize('Error'), cancel_button_text: undefined, diff --git a/packages/cashier/src/stores/__tests__/withdraw-store.spec.ts b/packages/cashier/src/stores/__tests__/withdraw-store.spec.ts index 2303489d251a..46b92f03faa3 100644 --- a/packages/cashier/src/stores/__tests__/withdraw-store.spec.ts +++ b/packages/cashier/src/stores/__tests__/withdraw-store.spec.ts @@ -109,6 +109,7 @@ describe('WithdrawStore', () => { const { setConverterFromError } = withdraw_store.root_store.modules.cashier.crypto_fiat_converter; const spySetErrorMessage = jest.spyOn(withdraw_store.error, 'setErrorMessage'); const spySaveWithdraw = jest.spyOn(withdraw_store, 'saveWithdraw'); + const error_code = 'CryptoWithdrawalError'; const error_message = 'Sorry, an error occurred.'; const verification_code = 'aBcDefXa'; @@ -125,9 +126,11 @@ describe('WithdrawStore', () => { await withdraw_store.requestWithdraw(verification_code); expect(spySaveWithdraw).toHaveBeenCalledWith(verification_code); - (withdraw_store.WS.cryptoWithdraw as jest.Mock).mockResolvedValueOnce({ error: { message: error_message } }); + (withdraw_store.WS.cryptoWithdraw as jest.Mock).mockResolvedValueOnce({ + error: { code: error_code, message: error_message }, + }); await withdraw_store.requestWithdraw(verification_code); - expect(spySetErrorMessage).toHaveBeenCalledWith({ code: 'CryptoWithdrawalError', message: error_message }); + expect(spySetErrorMessage).toHaveBeenCalledWith({ code: error_code, message: error_message }); }); it('should save withdrawal request', async () => { diff --git a/packages/cashier/src/stores/withdraw-store.ts b/packages/cashier/src/stores/withdraw-store.ts index 44967711b83a..fb18d2fcf770 100644 --- a/packages/cashier/src/stores/withdraw-store.ts +++ b/packages/cashier/src/stores/withdraw-store.ts @@ -92,7 +92,7 @@ export default class WithdrawStore { dry_run: 1, }).then(response => { if (response.error) { - this.error.setErrorMessage({ code: 'CryptoWithdrawalError', message: response.error.message }); + this.error.setErrorMessage({ code: response.error.code, message: response.error.message }); this.setCryptoConfig().then(() => this.validateWithdrawFromAmount()); } else { this.saveWithdraw(verification_code); From 6fc1c2af76042ba1640c3715282a94649be225f7 Mon Sep 17 00:00:00 2001 From: ameerul-deriv <103412909+ameerul-deriv@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:58:17 +0800 Subject: [PATCH 11/16] Ameerul /Task 87020 To fix this scenario : Order expired before the verification link expired (#7532) * chore: fixed issue * chore: fixed order expiry for buyer --- .../src/components/order-details/order-details-timer.jsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/p2p/src/components/order-details/order-details-timer.jsx b/packages/p2p/src/components/order-details/order-details-timer.jsx index df5ede635dd2..e1cfc916d2bf 100644 --- a/packages/p2p/src/components/order-details/order-details-timer.jsx +++ b/packages/p2p/src/components/order-details/order-details-timer.jsx @@ -22,10 +22,7 @@ const OrderDetailsTimer = observer(() => { const countDownTimer = () => { const time_left = getTimeLeft(order_expiry_milliseconds); - - if (time_left.distance < 0) { - clearInterval(interval.current); - } + if (time_left.distance < 0) clearInterval(interval.current); setRemainingTime(time_left.label); }; @@ -35,7 +32,7 @@ const OrderDetailsTimer = observer(() => { interval.current = setInterval(countDownTimer, 1000); return () => clearInterval(interval.current); // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [order_expiry_milliseconds]); if (should_show_order_timer) { return ( From b61343efd2918f8faff6ff63922e945a3414e27b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Apr 2023 18:51:04 +0400 Subject: [PATCH 12/16] =?UTF-8?q?translations:=20=F0=9F=93=9A=20sync=20tra?= =?UTF-8?q?nslations=20with=20crowdin=20(#8382)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com> --- packages/translations/crowdin/messages.json | 2 +- .../translations/src/translations/ach.json | 22 +++-- .../translations/src/translations/ar.json | 48 ++++++----- .../translations/src/translations/bn.json | 22 +++-- .../translations/src/translations/de.json | 84 +++++++++++-------- .../translations/src/translations/es.json | 22 +++-- .../translations/src/translations/fr.json | 22 +++-- .../translations/src/translations/id.json | 22 +++-- .../translations/src/translations/it.json | 22 +++-- .../translations/src/translations/ko.json | 22 +++-- .../translations/src/translations/pl.json | 22 +++-- .../translations/src/translations/pt.json | 22 +++-- .../translations/src/translations/ru.json | 22 +++-- .../translations/src/translations/si.json | 22 +++-- .../translations/src/translations/th.json | 22 +++-- .../translations/src/translations/tr.json | 22 +++-- .../translations/src/translations/vi.json | 22 +++-- .../translations/src/translations/zh_cn.json | 22 +++-- .../translations/src/translations/zh_tw.json | 22 +++-- 19 files changed, 333 insertions(+), 153 deletions(-) diff --git a/packages/translations/crowdin/messages.json b/packages/translations/crowdin/messages.json index 779d108c8739..1d0d8365603d 100644 --- a/packages/translations/crowdin/messages.json +++ b/packages/translations/crowdin/messages.json @@ -1 +1 @@ -{"0":"","1014140":"You may also call <0>+447723580049 to place your complaint.","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","7100308":"Hour must be between 0 and 23.","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","30801950":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Gaming Authority, and will be subject to the laws of Malta.","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","41754411":"Continue creating account","44877997":"Residence permit","45453595":"Binary Coin","45941470":"Where would you like to start?","46523711":"Your proof of identity is verified","49963458":"Choose an option","50200731":"FX majors (standard/micro lots), FX minors, basket indices, commodities, and cryptocurrencies","53801223":"Hong Kong 50","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","77945356":"Trade on the go with our mobile app.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","89062902":"Trade on MT5","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117318539":"Password should have lower and uppercase English letters with numbers.","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125443840":"6. Restart last trade on error","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145146541":"Our accounts and services are unavailable for the Jersey postal code","145736466":"Take a selfie","150486954":"Token name","151344063":"The exit spot is the market price when the contract is closed.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","154545319":"Country of residence is where you currently live.","157593038":"random integer from {{ start_number }} to {{ end_number }}","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","162080773":"For Put","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","179737767":"Our legacy options trading platform.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195972178":"Get character","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","220232017":"demo CFDs","222468543":"The amount that you may add to your stake if you’re losing a trade.","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","224929714":"Virtual events based bets in the UK and the Isle of Man are offered by {{legal_entity_name}}, Millennium House, Level 1, Victoria Road, Douglas IM2 4RW, Isle of Man, licensed and regulated in Great Britain by the Gambling Commission under <0>account no. 39172 and by the Gambling Supervision Commission in the Isle of Man (<1>view licence).","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228079844":"Click here to upload","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","229355215":"Trade on {{platform_name_dbot}}","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","247418415":"Gaming trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251322536":"Deriv EZ accounts","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258310842":"Workspace","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","272042258":"When you set your limits, they will be aggregated across all your account types in {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. For example, the losses made on all four platforms will add up and be counted towards the loss limit you set.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","283986166":"Self-exclusion on the website only applies to your {{brand_website_name}} account and does not include other companies or websites.","284527272":"antimode","284772879":"Contract","287934290":"Are you sure you want to cancel this transaction?","289898640":"TERMS OF USE","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292491635":"If you select “Stop loss” and specify an amount to limit your loss, your position will be closed automatically when your loss is more than or equals to this amount. Your loss may be more than the amount you entered depending on the market price at closing.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","294305803":"Manage account settings","294335229":"Sell at market price","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","303959005":"Sell Price:","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","307971599":"<0>For Call:<1/>You will get a payout if the market price is higher than the strike price at the expiry time. Your payout will grow proportionally to the distance between the market and strike prices. You will start making a profit when the payout is higher than your stake. If the market price is equal to or below the strike price at the expiry time, there won’t be a payout.","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313298169":"Our cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","333121115":"Select Deriv MT5's account type","333456603":"Withdrawal limits","334680754":"Switch to your real account to create a Deriv MT5 account","334942497":"Buy time","335040248":"About us","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","346994074":"Selecting this will onboard you through Deriv (SVG) LLC (company no. 273 LLC 2020)","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","362772494":"This should not exceed {{max}} characters.","362946954":"Our legacy automated trading platform.","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","382781785":"Your contract is closed automatically when your profit is more than or equals to this amount.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","386191140":"You can choose between CFD trading accounts or Options and Multipliers accounts","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390647540":"Real account","390890891":"Last quarter","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","396801529":"To start trading, top-up funds from your Deriv account into this account.","396961806":"We do not support Polygon (Matic), to deposit please use only Ethereum ({{token}}).","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","402343402":"Due to an issue on our server, some of your {{platform}} accounts are unavailable at the moment. Please bear with us and thank you for your patience.","403456289":"The formula for SMA is:","404743411":"Total deposits","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","408477401":"We’ve also limited the maximum duration for every contract, and it differs according to the accumulator value that you choose. Your contract will be closed automatically when the maximum duration is reached.","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","416296716":"Maximum payout","417714706":"If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","420072489":"CFD trading frequency","422055502":"From","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","428709688":"Your preferred time interval between each report:","430975601":"Town/City is not in a proper format.","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","453409608":"Your profit is the percentage change in market price times your stake and the multiplier of your choice.","454196938":"Regulation:","454593402":"2. Please upload one of the following:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466369320":"Your gross profit is the percentage change in market price times your stake and the multiplier chosen here.","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","473154195":"Settings","473863031":"Pending proof of address review","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","491603904":"Unsupported browser","492198410":"Make sure everything is clear","497518317":"Function that returns a value","498144457":"A recent utility bill (e.g. electricity, water or gas)","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502041595":"This block gives you a specific candle from within the selected time interval.","503137339":"Payout limit","505793554":"last letter","508390614":"Demo Financial STP","510815408":"Letters, numbers, spaces, hyphens only","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","518955798":"7. Run Once at Start","520136698":"Boom 500 Index","521872670":"item","522283618":"Digital options trading experience","522703281":"divisible by","523123321":"- 10 to the power of a given number","527329988":"This is a top-100 common password","529056539":"Options","529597350":"If you had any open positions, we have closed them and refunded you.","530953413":"Authorised applications","531114081":"3. Contract Type","531675669":"Euro","535041346":"Max. total stake per day","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","543915570":"Forex, stocks, stock indices, cryptocurrencies, synthetic indices","545476424":"Total withdrawals","546534357":"If you select “Deal cancellation”, you’ll be able to cancel your trade within a chosen time frame should the market move against your favour. We’ll charge a small fee for this, but we’ll return your stake amount without profit or loss. If the stop-out amount is reached before the deal cancellation expires, your position will be cancelled automatically and we’ll return your stake amount without profit or loss. While “Deal cancellation” is active:","549479175":"Deriv Multipliers","551569133":"Learn more about trading limits","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","556264438":"Time interval","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","590508080":"If you select “Take profit” and specify an amount that you’d like to earn, your position will be closed automatically when your profit is more than or equal to this amount. Your profit may be more than the amount you entered depending on the market price (and accumulator value) at closing.","592087722":"Employment status is required.","593459109":"Try a different currency","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","611786123":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies, Stocks, and Stock Indices","613877038":"Chart","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","632398049":"This block assigns a null value to an item or statement.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","639382772":"Please upload supported file type.","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","642995056":"Email","643014039":"The trade length of your purchased contract.","644150241":"The number of contracts you have won since you last cleared your stats.","645016681":"Trading frequency in other financial instruments","645902266":"EUR/NZD","647039329":"Proof of address required","647192851":"Contract will be sold at the prevailing market price when the request is received by our servers. This price may differ from the indicated price.","647745382":"Input List {{ input_list }}","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","651284052":"Low Tick","651684094":"Notify","652041791":"To create a Deriv X real account, create a Deriv real account first.","652298946":"Date of birth","654264404":"Up to 1:30","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","657444253":"Sorry, account opening is unavailable in your region.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662578726":"Available","662609119":"Download the MT5 app","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","678517581":"Units","680334348":"This block was required to correctly convert your old strategy.","680478881":"Total withdrawal limit","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","684282133":"Trading instruments","685391401":"If you're having trouble signing in, let us know via <0>chat","686312916":"Trading accounts","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","693396140":"Deal cancellation (expired)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698748892":"Let’s try that again","699159918":"1. Filing complaints","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","705299518":"Next, upload the page of your passport that contains your photo.","706413212":"To access the cashier, you are now in your {{regulation}} {{currency}} ({{loginid}}) account.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724203548":"You can send your complaint to the <0>European Commission's Online Dispute Resolution (ODR) platform. This is not applicable to UK clients.","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","734390964":"Insufficient balance","734881840":"false","742469109":"Reset Balance","742676532":"Trade CFDs on forex, derived indices, cryptocurrencies, and commodities with high leverage.","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","750886728":"Switch to your real account to submit your documents","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752633544":"You will need to submit proof of identity and address once you reach certain thresholds","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755867072":"{{platform_name_mt5}} is not available in {{country}}","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","759783233":"For more information and assistance to counselling and support services, please visit <0>begambleaware.org.","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762185380":"<0>Multiply returns by <0>risking only what you put in.","762871622":"{{remaining_time}}s","763019867":"Your Gaming account is scheduled to be closed","764366329":"Trading limits","764540515":"Stopping the bot is risky","766317539":"Language","770171141":"Go to {{hostname}}","772632060":"Do not send any other currency to the following address. Otherwise, you'll lose funds.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","776085955":"Strategies","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787116142":"The multiplier amount used to increase your stake if you’re losing a trade. Value must be higher than 2.","787727156":"Barrier","788005234":"NA","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","793826881":"This is your personal start page for Deriv","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","811876954":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, and {{platform_name_dxtrade}} accounts.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","823186089":"A block that can contain text.","824797920":"Is list empty?","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830993327":"No current transactions available","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832588873":"Order execution","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835058671":"Total buy price","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839618971":"ADDRESS","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845213721":"Logout","845304111":"Slow EMA Period {{ input_number }}","847888634":"Please withdraw all your funds.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852583045":"Tick List String","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","860319618":"Tourism","862283602":"Phone number*","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869823595":"Function","869993298":"Minimum withdrawal","872549975":"You have {{number}} transfers remaining for today.","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","874461655":"Scan the QR code with your phone","874484887":"Take profit must be a positive number.","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","885065431":"Get a Deriv account","888274063":"Town/City","890299833":"Go to Reports","891337947":"Select country","892341141":"Your trading statistics since: {{date_time}}","893117915":"Variable","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","898457777":"You have added a Deriv Financial account.","898892363":"165+ assets: forex (standard/micro), stocks, stock indices, commodities, and cryptocurrencies","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905134118":"Payout:","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","907680782":"Proof of ownership verification failed","910888293":"Too many attempts","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921901739":"- your account details of the bank linked to your account","924046954":"Upload a document showing your name and bank account number or account details.","926813068":"Fixed/Variable","929608744":"You are unable to make withdrawals","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","934835052":"Potential profit","934932936":"PERSONAL","936766426":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938988777":"High barrier","943535887":"Please close your positions in the following Deriv MT5 account(s):","944499219":"Max. open positions","945532698":"Contract sold","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","946944859":"Hit the button below and we'll send you an email with a link. Click that link to verify your withdrawal request.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948545552":"150+","949859957":"Submit","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","955352264":"Trade on {{platform_name_dxtrade}}","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961178214":"You can only purchase one contract at a time","961692401":"Bot","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989021200":"Predict the market direction and movement size, and select either “Call” or “Put” to open a position.","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","999008199":"text","1001160515":"Sell","1001749987":"You’ll get a warning, named margin call, if your account balance drops down close to the stop out level.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006458411":"Errors","1006664890":"Silent","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021679446":"Multipliers only","1022934784":"1 minute","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1025887996":"Negative Balance Protection","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1027098103":"Leverage gives you the ability to trade a larger position using your existing capital. Leverage varies across different symbols.","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1035506236":"Choose a new password","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039755542":"Use a few words, avoid common phrases","1040053469":"For Call","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044230481":"This is an Ethereum ({{token}}) only address, please do not use {{prohibited_token}}.","1044540155":"100+","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052137359":"Family name*","1052779010":"You are on your demo account","1053153674":"Jump 50 Index","1053159279":"Level of education","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057749183":"Two-factor authentication (2FA)","1057765448":"Stop out level","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1061561084":"Switch to your real account to create a Deriv MT5 {{account_title}} {{type_title}} account.","1062536855":"Equals","1065353420":"110+","1065498209":"Iterate (1)","1066235879":"Transferring funds will require you to create a second account.","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1069576070":"Purchase lock","1070624871":"Check proof of address document verification status","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078221772":"Leverage prevents you from opening large positions.","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1086118495":"Traders Hub","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1113433728":"Resubmit your proof of identity and address","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127149819":"Make sure§","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130744117":"We shall try to resolve your complaint within 10 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1138126442":"Forex: standard","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1147625645":"Please proceed to withdraw all your funds from your account before <0>30 November 2021.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174748431":"Payment channel","1175183064":"Vanuatu","1176926166":"Experience with trading other financial instruments","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1180619731":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1191644656":"Predict the market direction and select either “Up” or “Down” to open a position. We will charge a commission when you open a position.","1192708099":"Duration unit","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1196683606":"Deriv MT5 CFDs demo account","1197326289":"You are no longer able to trade digital options on any of our platforms. Also, you can’t make deposits into your Options account.","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225150022":"Number of assets","1227074958":"random fraction","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1234219091":"You haven't finished creating your account","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1235426525":"50%","1237330017":"Pensioner","1238311538":"Admin","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1243064300":"Local","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250495155":"Token copied!","1254565203":"set {{ variable }} to create list with","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1263387702":"All {{count}} account types use market execution. This means you agree with the broker's price in advance and will place orders at the broker's price.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265704976":"","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274819385":"3. Complaints and Disputes","1275474387":"Quick","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289646209":"Margin call","1290525720":"Example: ","1291887623":"Digital options trading frequency","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1304788377":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to the <2>Information and Data Protection Commissioner (Malta) on their website or make a complaint to any supervisory authority within the European Union.","1304807342":"Compare CFDs demo accounts","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1311799109":"We do not support Binance Smart Chain tokens to deposit, please use only Ethereum ({{token}}).","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324110809":"Address information","1324922837":"2. The new variable will appear as a block under Set variable.","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1341840346":"View in Journal","1346204508":"Take profit","1346339408":"Managers","1347071802":"{{minutePast}}m ago","1348009461":"Please close your positions in the following Deriv X account(s):","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357129681":"{{num_day}} days {{num_hour}} hours {{num_minute}} minutes","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1359424217":"You have sold this contract at <0 />","1360929368":"Add a Deriv account","1362578283":"High","1363060668":"Your trading statistics since:","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364958515":"Stocks","1366244749":"Limits","1367023655":"To ensure your loss does not exceed your stake, your contract will be closed automatically when your loss equals to <0/>.","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1369709538":"Our terms of use","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1374627690":"Max. account balance","1376329801":"Last 60 days","1378419333":"Ether","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392966771":"Mrs","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400637999":"(All fields are required)","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1410320737":"Go to Deriv MT5 dashboard","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1415006332":"get sub-list from first","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1424741507":"See more","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1434382099":"Displays a dialog window with a message","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1435380105":"Minimum deposit","1437396005":"Add comment","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467661678":"Cryptocurrency trading","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468937050":"Trade on {{platform_name_trader}}","1469082952":"30+ assets: synthetics, basket indices and derived FX","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1479322099":"Earn a range of payouts by correctly predicting market price movements with <0>Options, or get the upside of CFDs without risking more than your initial stake with <1>Multipliers.","1480915523":"Skip","1481977420":"Please help us verify your withdrawal request.","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490583127":"DBot isn't quite ready for real accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499074768":"Add a real Deriv Multipliers account","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1516537408":"You can no longer trade on Deriv or deposit funds into your account.","1516559721":"Please select one file only","1516676261":"Deposit","1516834467":"‘Get’ the accounts you want","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1519336051":"Try a different phone number","1519891032":"Welcome to Trader's Hub","1520332426":"Net annual income","1524636363":"Authentication failed","1527251898":"Unsuccessful","1527906715":"This block adds the given number to the selected variable.","1529440614":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, and {{platform_name_dbot}}.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534569275":"As part of the changes in our markets, we will be closing our UK clients’ accounts.","1534796105":"Gets variable value","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541969455":"Both","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1548765374":"Verification of document number failed","1549098835":"Total withdrawn","1551172020":"AUD Basket","1552162519":"View onboarding","1552918367":"Send only {{currency}} ({{currency_symbol}}) to this address.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1559220089":"Options and multipliers trading platform.","1560302445":"Copied","1562374116":"Students","1564392937":"When you set your limits or self-exclusion, they will be aggregated across all your account types in {{platform_name_trader}} and {{platform_name_dbot}}. For example, the losses made on both platforms will add up and be counted towards the loss limit you set.","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1567076540":"Only use an address for which you have proof of residence - ","1567586204":"Self-exclusion","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1585859194":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts, and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1587046102":"Documents from that country are not currently supported — try another document type","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1596378630":"You have added a real Gaming account.<0/>Make a deposit now to start trading.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1602894348":"Create a password","1604171868":"Please withdraw all your funds as soon as possible.","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1613633732":"Interval should be between 10-60 minutes","1615897837":"Signal EMA Period {{ input_number }}","1618809782":"Maximum withdrawal","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1623706874":"Use this block when you want to use multipliers as your trade type.","1630372516":"Try our Fiat onramp","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1642645912":"All rates","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1654365787":"Unknown","1654496508":"Our system will finish any DBot trades that are running, and DBot will not place any new trades.","1654721858":"Upload anyway","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1674163852":"You can determine the expiry of your contract by setting the duration or end time.","1675030608":"To create this account first we need you to resubmit your proof of address.","1675289747":"Switched to real account","1677027187":"Forex","1677990284":"My apps","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683522174":"Top-up","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1687173740":"Get more","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1691335819":"To continue trading with us, please confirm who you are.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694331708":"You can switch between CFDs, digital options, and multipliers at any time.","1694517345":"Enter a new email address","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709401095":"Trade CFDs on Deriv X with financial markets and our Derived indices.","1709859601":"Exit Spot Time","1710662619":"If you have the app, launch it to start trading.","1711013665":"Anticipated account turnover","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1717023554":"Resubmit documents","1719248689":"EUR/GBP/USD","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722401148":"The amount that you may add to your stake after each successful trade.","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728121741":"Transactions.csv","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1732891201":"Sell price","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743902050":"Complete your financial assessment","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747523625":"Go back","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1749675724":"Deriv charges no commission across all account types.","1750065391":"Login time:","1753226544":"remove","1753975551":"Upload passport photo page","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1762746301":"MF4581125","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1767429330":"Add a Derived account","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772532756":"Create and edit","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1781393492":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783740125":"Upload your selfie","1787135187":"Postal/ZIP code is required","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1790770969":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies","1791017883":"Check out this <0>user guide.","1791432284":"Search for country","1791971912":"Recent","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806355993":"No commission","1806503050":"Please note that some payment methods might not be available in your country.","1808058682":"Blocks are loaded successfully","1808393236":"Login","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1816126006":"Trade on Deriv MT5 ({{platform_name_dmt5}}), the all-in-one FX and CFD trading platform.","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1833481689":"Unlock","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1838639373":"Resources","1839021527":"Please enter a valid account number. Example: CR123456789","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841381387":"Get more wallets","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1842862156":"Welcome to your Deriv X dashboard","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846664364":"{{platform_name_dxtrade}}","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1850663784":"Submit proofs","1851052337":"Place of birth is required.","1851776924":"upper","1851951013":"Please switch to your demo account to run your DBot.","1854480511":"Cashier is locked","1854874899":"Back to list","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1858251701":"minute","1859308030":"Give feedback","1863053247":"Please upload your identity document.","1863694618":"Trade CFDs on MT5 with forex, stocks, stock indices, commodities, and cryptocurrencies.","1863731653":"To receive your funds, contact the payment agent","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1866836018":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to your local supervisory authority.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871664426":"Note","1871804604":"Regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","1873838570":"Please verify your address","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874756442":"BVI","1876325183":"Minutes","1877225775":"Your proof of address is verified","1877272122":"We’ve limited the maximum payout for every contract, and it differs for every asset. Your contract will be closed automatically when the maximum payout is reached.","1877410120":"What you need to do now","1877832150":"# from end","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880875522":"Create \"get %1\"","1881018702":"hour","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887852176":"Site is being updated","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1894667135":"Please verify your proof of address","1898670234":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0> {{opening_date}}.","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907884620":"Add a real Deriv Gaming account","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1917804780":"You will lose access to your Options account when it gets closed, so be sure to withdraw all your funds. (If you have a CFDs account, you can also transfer the funds from your Options account to your CFDs account.)","1918633767":"Second line of address is not in a proper format.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921634159":"A few personal details","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1923431535":"“Stop loss” is deactivated and will only be available when “Deal cancellation” expires.","1924365090":"Maybe later","1924765698":"Place of birth*","1925090823":"Sorry, trading is unavailable in {{clients_country}}.","1927244779":"Use only the following special characters: . , ' : ; ( ) @ # / -","1928930389":"GBP/NOK","1929309951":"Employment Status","1929379978":"Switch between your demo and real accounts.","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1942091675":"Cryptocurrency trading is not available for clients residing in the United Kingdom.","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1952580688":"Submit passport photo page","1955219734":"Town/City*","1957759876":"Upload identity document","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964097111":"USD","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973564194":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} or {{platform_name_dxtrade}} account.","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983387308":"Preview","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1985946750":"{{maximum_ticks}} {{ticks}}","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1988601220":"Duration value","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1998199587":"You can also exclude yourself entirely for a specified duration. If, at any time, you decide to trade again, you must then contact our Customer Support to remove this self-exclusion. There will be a 24-hour-cooling-off period before you can resume trading. ","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2004395123":"New trading tools for MT5","2004792696":"If you are a UK resident, to self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","2007028410":"market, trade type, contract type","2007092908":"Trade with leverage and low spreads for better returns on successful trades.","2008809853":"Please proceed to withdraw your funds before 30 November 2021.","2009620100":"DBot will not proceed with any new trades. Any ongoing trades will be completed by our system. Any unsaved changes will be lost.<0>Note: Please check your statement to view completed transactions.","2009770416":"Address:","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027428622":"150+ assets: forex, stocks, stock indices, synthetics, commodities and cryptocurrencies","2027625329":"Simple Moving Average Array (SMAA)","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2034931276":"Close this window","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037481040":"Choose a way to fund your account","2037607934":"The purchase of <0>{{trade_type_name}} contract has been completed successfully for the amount of <0> {{buy_price}} {{currency}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2042778835":"This complaints policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2048110615":"Email address*","2048134463":"File size exceeded.","2050080992":"Tron","2050170533":"Tick list","2051558666":"View transaction history","2053617863":"Please proceed to withdraw all your funds from your account.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062299501":"<0>For {{title}}: Your payout will grow by this amount for every point {{trade_type}} your strike price. You will start making a profit when the payout is higher than your stake.","2062912059":"function {{ function_name }} {{ function_params }}","2063655921":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","2063812316":"Text Statement","2063890788":"Cancelled","2065278286":"Spread","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070752475":"Regulatory Information","2071043849":"Browse","2073813664":"CFDs, Options or Multipliers","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2084925123":"Use our fiat onramp services to buy and deposit cryptocurrency into your Deriv account.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086742952":"You have added a real Options account.<0/>Make a deposit now to start trading.","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089581483":"Expires on","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2100713124":"account","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2109312805":"The spread is the difference between the buy price and sell price. A variable spread means that the spread is constantly changing, depending on market conditions. A fixed spread remains constant but is subject to alteration, at the Broker's absolute discretion.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2115223095":"Loss","2117073379":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118315870":"Where do you live?","2119449126":"Example output of the below example will be:","2120617758":"Set up your trade","2121227568":"NEO/USD","2122152120":"Assets","2125993553":"Click ‘Trade’ to start trading with your account","2127564856":"Withdrawals are locked","2131963005":"Please withdraw your funds from the following Deriv MT5 account(s):","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2141873796":"Get more info on <0>CFDs, <1>multipliers, and <2>options.","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146892766":"Binary options trading experience","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-1497654315":"Our accounts and services are unavailable for the Jersey postal code.","-755626951":"Complete your address details","-1024240099":"Address","-584911871":"Select wallet currency","-1461267236":"Please choose your currency","-1352330125":"CURRENCY","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-654781670":"Primary","-1717373258":"Secondary","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-739367071":"Employed","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-1232613003":"<0>Verification failed. <1>Why?","-2029508615":"<0>Need verification.<1>Verify now","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-1356204661":"This Tax Identification Number (TIN) is invalid. You may continue with account creation, but to facilitate future payment processes, valid tax information will be required.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-621555159":"Identity information","-204765990":"Terms of use","-231863107":"No","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-1214803297":"Dashboard-only path","-526636259":"Error 404","-1030759620":"Government Officers","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-612752984":"These are default limits that we apply to your accounts.","-1598263601":"To learn more about trading limits and how they apply, please go to the <0>Help Centre.","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-138380129":"Total withdrawal allowed","-854023608":"To increase limit please verify your identity","-1500958859":"Verify","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-190838815":"We need this for verification. If the information you provide is fake or inaccurate, you won’t be able to deposit and withdraw.","-223216785":"Second line of address*","-594456225":"Second line of address","-1315410953":"State/Province","-1940457555":"Postal/ZIP Code*","-1964954030":"Postal/ZIP Code","-1541554430":"Next","-71696502":"Previous","-1437206131":"JPEG JPG PNG PDF GIF","-820458471":"1 - 6 months old","-155705811":"A clear colour photo or scanned image","-587941902":"Issued under your name with your current address","-438669274":"JPEG JPG PNG PDF GIF","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-1120954663":"First name*","-1659980292":"First name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1315571766":"Place of birth","-2040322967":"Citizenship","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-1176889260":"Please select a document type.","-1515286538":"Please enter your document number. ","-1785463422":"Verify your identity","-78467788":"Please select the document type and enter the ID number.","-1117345066":"Choose the document type","-651192353":"Sample:","-1263033978":"Please ensure all your personal details are the same as in your chosen document. If you wish to update your personal details, go to account settings.","-937707753":"Go Back","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-228284848":"We were unable to verify your ID with the details you provided.","-1874113454":"Please check and resubmit or choose a different document type.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-839094775":"Back","-856213726":"You must also submit a proof of address.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-2068479232":"{{platform}} password","-1332137219":"Strong passwords contain at least 8 characters that include uppercase and lowercase letters, numbers, and symbols.","-2005211699":"Create","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-848721396":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. If you live in the United Kingdom, Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request. If you live in the Isle of Man, Customer Support can only remove or weaken your trading limits after your trading limit period has expired.","-469096390":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request.","-42808954":"You can also exclude yourself entirely for a specified duration. This can only be removed once your self-exclusion has expired. If you wish to continue trading once your self-exclusion period expires, you must contact Customer Support by calling <0>+447723580049 to lift this self-exclusion. Requests by chat or email shall not be entertained. There will be a 24-hour cooling-off period before you can resume trading.","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-1702324712":"These limits are optional, and you can adjust them at any time. You decide how much and how long you’d like to trade. If you don’t wish to set a specific limit, leave the field blank.","-1819875658":"You can also exclude yourself entirely for a specified duration. Once the self-exclusion period has ended, you can either extend it further or resume trading immediately. If you wish to reduce or remove the self-exclusion period, contact our <0>Customer Support.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2121421686":"To self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1166068675":"Your account will be opened with {{legal_entity_name}}, regulated by the UK Gaming Commission (UKGC), and will be subject to the laws of the Isle of Man.","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-680528873":"Your account will be opened with {{legal_entity_name}} and will be subject to the laws of Samoa.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-684271315":"OK","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-2145244263":"This field is required","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-179005984":"Save","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-1292808093":"Trading Experience","-1458676679":"You should enter 2-50 characters.","-1166111912":"Use only the following special characters: {{ permitted_characters }}","-884768257":"You should enter 0-35 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-874280157":"This Tax Identification Number (TIN) is invalid. You may continue using it, but to facilitate future payment processes, valid tax information will be required.","-1037916704":"Miss","-1113902570":"Details","-634958629":"We use the information you give us only for verification purposes. All information is kept confidential.","-731992635":"Title*","-352888977":"Title","-136976514":"Country of residence*","-945104751":"We’re legally obliged to ask for your tax information.","-1702919018":"Second line of address (optional)","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2121071263":"Check this box to receive updates via email.","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-1923892687":"Please withdraw your funds from the following Deriv X account(s):","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-9323953":"Remaining characters: {{remaining_characters}}","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-1219849101":"Please select at least one reason","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1076138910":"Trade","-488597603":"Trading information","-1666909852":"Payments","-506510414":"Date and time","-1708927037":"IP address","-80717068":"Apps you have linked to your <0>Deriv password:","-2143208677":"Click the <0>Change password button to change your Deriv MT5 password.","-9570380":"Use the {{platform_name_dxtrade}} password to log in to your {{platform_name_dxtrade}} accounts on the web and mobile apps.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-650175948":"A recent bank statement or government-issued letter with your name and address.","-2006895756":"1. Address","-716361389":"An accurate and complete address helps to speed up your verification process.","-890084320":"Save and submit","-1672243574":"Before uploading your document, please ensure that your <0>personal details are updated to match your proof of identity. This will help to avoid delays during the verification process.","-1592318047":"See example","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-1272489896":"Please complete this field.","-397487797":"Enter your full card number","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-1411635770":"Learn more about account limits","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-786372363":"Learn more about API token","-55560916":"To access our mobile apps and other third-party apps, you'll first need to generate an API token.","-198329198":"API Token","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-1117963487":"Name your token and click on 'Create' to generate your token.","-2115275974":"CFDs","-1879666853":"Deriv MT5","-460645791":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-561724665":"You are limited to one fiat currency only","-2087317410":"Oops, something went wrong.","-509054266":"Anticipated annual turnover","-1044962593":"Upload Document","-164448351":"Show less","-1361653502":"Show more","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-1525879032":"Your documents for proof of address is expired. Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1926456107":"The ID you submitted is expired.","-555047589":"It looks like your identity document has expired. Please try again with a valid document.","-841187054":"Try Again","-2097808873":"We were unable to verify your ID with the details you provided. ","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-749870311":"Please contact us via <0>live chat.","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-428335668":"You will need to set a password to complete the process.","-1743024217":"Select Language","-1107320163":"Automate your trading, no coding needed.","-829643221":"Multipliers trading platform.","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-820028470":"Options & Multipliers","-1018945969":"TradersHub","-1856204727":"Reset","-213142918":"Deposits and withdrawals temporarily unavailable ","-224804428":"Transactions","-1186807402":"Transfer","-1210359945":"Transfer funds to your accounts","-81256466":"You need a Deriv account to create a CFD account.","-699372497":"Trade with leverage and tight spreads for better returns on successful trades. <0>Learn more","-1884966862":"Get more Deriv MT5 account with different type and jurisdiction.","-596618970":"Other CFDs","-982095728":"Get","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-1308346982":"Derived","-1145604233":"Trade CFDs on MT5 with Derived indices that simulate real-world market movements.","-328128497":"Financial","-1484404784":"Trade CFDs on MT5 with forex, stock indices, commodities, and cryptocurrencies.","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-172898036":"CR5236585","-1665192032":"Multipliers account","-744999940":"Deriv account","-1638358352":"Get the upside of CFDs without risking more than your initial stake with <0>Multipliers.","-749129977":"Get a real Deriv account, start trading and manage your funds.","-1814994113":"CFDs <0>{{compare_accounts_title}}","-318106501":"Trade CFDs on MT5 with synthetics, baskets, and derived FX.","-1328701106":"Trade CFDs on MT5 with forex, stocks, stock indices, synthetics, cryptocurrencies, and commodities.","-339648370":"Earn a range of payouts by correctly predicting market price movements with <0>Options, or get the\n upside of CFDs without risking more than your initial stake with <1>Multipliers.","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-181080141":"Trading hub tour","-1042025112":"Need help moving around?<0>We have a short tutorial that might help. Hit Repeat tour to begin.","-1536335438":"These are the trading accounts available to you. You can click on an account’s icon or description to find out more","-1034232248":"CFDs or Multipliers","-1320214549":"You can choose between CFD trading accounts and Multipliers accounts","-2069414013":"Click the ‘Get’ button to create an account","-951876657":"Top-up your account","-1945421757":"Once you have an account click on ‘Deposit’ or ‘Transfer’ to add funds to an account","-1965920446":"Start trading","-514389291":"<0>EU statutory disclaimer: CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. <0>71% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-1995606668":"Amount","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-2021135479":"This field is required.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-1517325716":"Deposit via the following payment methods:","-1547606079":"We accept the following cryptocurrencies:","-42592103":"Deposit cryptocurrencies","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-1975494965":"Cashier","-1787304306":"Deriv P2P","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-1900848111":"This is your {{currency_code}} account.","-749765720":"Your fiat account currency is set to {{currency_code}}.","-803546115":"Manage your accounts ","-1463156905":"Learn more about payment methods","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-190084602":"Transaction","-811190405":"Time","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-299033842":"Recent transactions","-348296830":"{{transaction_type}} {{currency}}","-1929538515":"{{amount}} {{currency}} on {{submit_date}}","-1534990259":"Transaction hash:","-1612346919":"View all","-1059419768":"Notes","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-2013448791":"Want to exchange between e-wallet currencies? Try <0>Ewallet.Exchange","-2061807537":"Something’s not right","-1068036170":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-1361372445":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts, your Deriv cryptocurrency and {{platform_name_derivez}} accounts, and your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1995859618":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_derivez}} and {{platform_name_dxtrade}} accounts.","-545616470":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_derivez }} transfers between your Deriv and {{platform_name_derivez}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-1344870129":"Deriv accounts","-1156059326":"You have {{number}} transfer remaining for today.","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-993393818":"Binance Smart Chain","-561858764":"Polygon (Matic)","-410890127":"Ethereum (ERC20)","-1059526741":"Ethereum (ETH)","-1615615253":"We do not support Tron, to deposit please use only Ethereum ({{token}}).","-1831000957":"Please select the network from where your deposit will come from.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-1345040662":"Looking for a way to buy cryptocurrency?","-759000391":"We were unable to verify your information automatically. To enable this function, you must complete the following:","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-2024958619":"This is to protect your account from unauthorised withdrawals.","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-447037544":"Buy price:","-1342699195":"Total profit/loss:","-1511825574":"Profit/Loss:","-726626679":"Potential profit/loss:","-338379841":"Indicative price:","-1525144993":"Payout limit:","-1167474366":"Tick ","-555886064":"Won","-529060972":"Lost","-571642000":"Day","-155989831":"Decrement value","-1192773792":"Don't show this again","-1769852749":"N/A","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-1940333322":"DBot is not available for this account","-1223145005":"Loss amount: {{profit}}","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-668558002":"Journal.csv","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-1109191651":"Must be a number higher than 0","-1917772100":"Invalid number format","-1553945114":"Value must be higher than 2","-689786738":"Minimum duration: {{ min }}","-184183432":"Maximum duration: {{ max }}","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-1483938124":"This strategy is currently not compatible with DBot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-2046396241":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open DBot.","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-1918487001":"Example:","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-70949308":"4. Come back to DBot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-786915692":"You are connected to Google Drive","-1150107517":"Connect","-1759213415":"Find out how this app handles your data by reviewing Deriv's <0>Privacy policy, which is part of Deriv's <1>Terms and conditions.","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-1016171176":"Asset","-621128676":"Trade type","-671128668":"The amount that you pay to enter a trade.","-447853970":"Loss threshold","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-1823621139":"Quick Strategy","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-305283152":"Strategy name","-1003476709":"Save as collection","-636521735":"Save strategy","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-1696412885":"Import","-250192612":"Sort","-1566369363":"Zoom out","-2060170461":"Load","-1200116647":"Click here to start building your DBot.","-1040972299":"Purchase contract","-600546154":"Sell contract (optional)","-985351204":"Trade again","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1285759343":"Search","-1058262694":"Stopping the bot will prevent further trades. Any ongoing trades will be completed by our system.","-1473283434":"Please be aware that some completed transactions may not be displayed in the transaction table if the bot is stopped while placing trades.","-397015538":"You may refer to the statement page for details of all completed transactions.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-627895223":"Exit spot","-596238067":"Entry/Exit spot","-558594655":"The bot is not running","-478946875":"The stats are cleared","-9461328":"Security and privacy","-563774117":"Dashboard","-418247251":"Download your journal.","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-999254545":"All messages are filtered out","-686334932":"Build a bot from the start menu then hit the run button to run the bot.","-1717650468":"Online","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-1309011360":"Open positions","-1597214874":"Trade table","-883103549":"Account deactivated","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-568280383":"Deriv Gaming","-895331276":"Complete your proof of address","-782679300":"Complete your proof of identity","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-533935232":"Financial BVI","-565431857":"Financial Labuan","-1290112064":"Deriv EZ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-841561409":"Put Spread","-137444201":"Buy","-1500514644":"Accumulator","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-681468758":"Your web browser is out of date and may affect your trading experience. Please <0>update your browser.","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-540474806":"Your Options account is scheduled to be closed","-618539786":"Your account is scheduled to be closed","-945275490":"Withdraw all funds from your Options account.","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-800774345":"Power up your Financial trades with intuitive tools from Acuity.","-279582236":"Learn More","-1211460378":"Power up your trades with Acuity","-703292251":"Download intuitive trading tools to keep track of market events. The Acuity suite is only available for Windows, and is most recommended for financial assets.","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-67021419":"Our cashier is temporarily down due to system maintenance. You can access the cashier in a few minutes when the maintenance is complete.","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-448961363":"non-EU","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-277547429":"A Deriv account will allow you to fund (and withdraw from) your MT5 account(s).","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-594209315":"Synthetic indices in the EU are offered by {{legal_entity_name}}, W Business Centre, Level 3, Triq Dun Karm, Birkirkara BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority (<0>licence no. MGA/B2C/102/2000) and by the Revenue Commissioners for clients in Ireland (<2>licence no. 1010285).","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-583559763":"Menu","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-1019903756":"Synthetic","-288996254":"Unavailable","-735306327":"Manage accounts","-1310654342":"As part of the changes in our product line-up, we will be closing Gaming accounts belonging to our UK clients.","-626152766":"As part of the changes in our product line-up, we are closing Options accounts belonging to our clients in Europe.","-490100162":"As part of the changes in our product line-up, we will be closing accounts belonging to our Isle of Man clients.","-1208958060":"You can no longer trade digital options on any of our platforms. You also can’t deposit funds into your account.<0/><1/>Any open positions on digital options have been closed with full payout.","-2050417883":"You’ll lose access to your Gaming account when it gets closed, so make sure to withdraw your funds as soon as possible.","-1950045402":"Withdraw all your funds","-168971942":"What this means for you","-905560792":"OK, I understand","-1308593541":"You will lose access to your account when it gets closed, so be sure to withdraw all your funds.","-2024365882":"Explore","-1197864059":"Create free demo account","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-786091297":"Trade on demo","-228099749":"Please verify your identity and address","-1041852744":"We're processing your personal information","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1557011219":"Add a real Deriv Options account","-241733171":"Add a Deriv Financial account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-617844567":"An account with your details already exists.","-292363402":"Trading statistics report","-1656860130":"Options trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","-28080461":"Would like to check your statement first? <0>Check Statement","-611059051":"Please specify your preferred interval reality check in minutes:","-1876891031":"Currency","-11615110":"Turnover","-1370419052":"Profit / Loss","-437320982":"Session duration:","-3959715":"Current time:","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-891307883":"If you close this window, you will lose any information you have entered.","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1787820992":"Platforms","-1793883644":"Trade FX and CFDs on a customisable, easy-to-use trading platform.","-184713104":"Earn fixed payouts with options, or trade multipliers to amplify your gains with limited risk.","-1571775875":"Our flagship options and multipliers trading platform.","-895091803":"If you're looking for CFDs","-1447215751":"Not sure? Try this","-2338797":"<0>Maximise returns by <0>risking more than you put in.","-1682067341":"Earn <0>fixed returns by <0>risking only what you put in.","-1744351732":"Not sure where to start?","-943710774":"This complaints policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}, having its registered office address at First Floor, Millennium House, Victoria Road, Douglas, Isle of Man, IM2 4RW, licensed and regulated respectively by (1) the Gambling Supervision Commission in the Isle of Man (current <0>licence issued on 31 August 2017) and (2) the Gambling Commission in the UK (<1>licence no. 39172).","-255056078":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name}}, having its registered office address at W Business Centre, Level 3, Triq Dun Karm, Birkirkara, BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority in Malta for gambling products only, <0>licence no. MGA/B2C/102/2000, and for clients residing in the UK by the UK Gambling Commission (account number 39495).","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-1639808836":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Independent Betting Adjudication Service (IBAS) by filling the IBAS adjudication form. Please note that IBAS only deals with disputes that result from transactions.","-1505742956":"<0/><1/>You can also refer your dispute to the Malta Gaming Authority via the <2>Player Support Unit.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-1776547326":"<0/><1/>If you reside in the UK and you are unhappy with our response you may escalate your complaint to the <2>Financial Ombudsman Service.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-358055541":"Power up your trades with cool new tools","-29496115":"We've partnered with Acuity to give you a suite of intuitive trading tools for MT5 so you can keep track of market events and trends, free of charge!<0/><0/>","-648669944":"Download the Acuity suite and take advantage of the <1>Macroeconomic Calendar, Market Alerts, Research Terminal, and <1>Signal Centre Trade Ideas without leaving your MT5 terminal.<0/><0/>","-794294380":"This suite is only available for Windows, and is most recommended for financial assets.","-922510206":"Need help using Acuity?","-815070480":"Disclaimer: The trading services and information provided by Acuity should not be construed as a solicitation to invest and/or trade. Deriv does not offer investment advice. The past is not a guide to future performance, and strategies that have worked in the past may not work in the future.","-2111521813":"Download Acuity","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-7381040":"Stay in demo","-1208519001":"You need a real Deriv account to access the cashier.","-175369516":"Welcome to Deriv X","-939154994":"Welcome to Deriv MT5 dashboard","-1667427537":"Run Deriv X on your browser or download the mobile app","-305915794":"Run MT5 from your browser or download the MT5 app for your devices","-404375367":"Trade forex, basket indices, commodities, and cryptocurrencies with high leverage.","-243985555":"Trade CFDs on forex, stocks, stock indices, synthetic indices, cryptocurrencies, and commodities with leverage.","-2030107144":"Trade CFDs on forex, stocks & stock indices, commodities, and crypto.","-705682181":"Malta","-409563066":"Regulator","-1302404116":"Maximum leverage","-2098459063":"British Virgin Islands","-1510474851":"British Virgin Islands Financial Services Commission (licence no. SIBA/L/18/1114)","-761250329":"Labuan Financial Services Authority (Licence no. MB/18/0024)","-1264604378":"Up to 1:1000","-1686150678":"Up to 1:100","-637908996":"100%","-1420548257":"20+","-1373949478":"50+","-1382029900":"70+","-1493055298":"90+","-223956356":"Leverage up to 1:1000","-1340877988":"Registered with the Financial Commission","-1789823174":"Regulated by the Vanuatu Financial Services Commission","-1971989290":"90+ assets: forex, stock indices, commodities and cryptocurrencies","-1372141447":"Straight-through processing","-318390366":"Regulated by the Labuan Financial Services Authority (Licence no. MB/18/0024)","-1556783479":"80+ assets: forex and cryptocurrencies","-875019707":"Leverage up to 1:100","-2068980956":"Leverage up to 1:30","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-785625598":"Use these credentials to log in to your {{platform}} account on the website and mobile apps.","-997127433":"Change Password","-1300381594":"Get Acuity trading tools","-860609405":"Password","-742647506":"Fund transfer","-1972393174":"Trade CFDs on our synthetics, baskets, and derived FX.","-1357917360":"Web terminal","-1454896285":"The MT5 desktop app is not supported by Windows XP, Windows 2003, and Windows Vista.","-810388996":"Download the Deriv X mobile app","-1727991510":"Scan the QR code to download the Deriv X Mobile App","-511301450":"Indicates the availability of cryptocurrency trading on a particular account.","-1647569139":"Synthetics, Baskets, Derived FX, Forex: standard/micro, Stocks, Stock indices, Commodities, Cryptocurrencies","-2102641225":"At bank rollover, liquidity in the forex markets is reduced and may increase the spread and processing time for client orders. This happens around 21:00 GMT during daylight saving time, and 22:00 GMT non-daylight saving time.","-495364248":"Margin call and stop out level will change from time to time based on market condition.","-536189739":"To protect your portfolio from adverse market movements due to the market opening gap, we reserve the right to decrease leverage on all offered symbols for financial accounts before market close and increase it again after market open. Please make sure that you have enough funds available in your {{platform}} account to support your positions at all times.","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-1779241732":"First line of address is not in a proper format.","-188222339":"This should not exceed {{max_number}} characters.","-1673422138":"State/Province is not in a proper format.","-1580554423":"Trade CFDs on our synthetic indices that simulate real-world market movements.","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-673424733":"Demo account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-1199152768":"Please explore our other platforms.","-205020823":"Explore {{platform_name_trader}}","-1982499699":"Explore {{platform_name_dbot}}","-1567989247":"Submit your proof of identity and address","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-790488576":"Forgot password?","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-1769158315":"real","-700260448":"demo","-1936102840":"Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} {{jurisdiction_selected_shortcode}} account. ","-1570793523":"Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} account.","-1928229820":"Reset Deriv X investor password","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-490244964":"Forex, stocks, stock indices, cryptocurrencies","-1368041210":", synthetic indices","-877064208":"EUR","-1284221303":"You’ll get a warning, known as margin call, if your account balance drops down close to the stop out level.","-1848799829":"To understand stop out, first you need to learn about margin level, which is the ratio of your equity (the total balance you would have if you close all your positions at that point) to the margin you're using at the moment. If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","-224051432":"24/7","-70716111":"FX-majors (standard/micro lots), FX-minors, basket indices, commodities, cryptocurrencies, and stocks and stock indices","-1041629137":"FX-majors, FX-minors, FX-exotics, and cryptocurrencies","-287097947":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies (except UK)","-2016975615":"Deriv MT5 CFDs real account","-1207265427":"Compare CFDs real accounts","-1225160479":"Compare available accounts","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-251202291":"Broker","-81650212":"MetaTrader 5 web","-2123571162":"Download","-941636117":"MetaTrader 5 Linux app","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-1271218821":"Account added","-1576792859":"Proof of identity and address are required","-2073834267":"Proof of identity is required","-24420436":"Proof of address is required","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-724308541":"Jurisdiction for your Deriv MT5 CFDs account","-1179429403":"Choose a jurisdiction for your MT5 {{account_type}} account","-450424792":"You need a real account (fiat currency or cryptocurrency) in Deriv to create a real Deriv MT5 account.","-1760596315":"Create a Deriv account","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1694314813":"Contract value:","-442488432":"day","-337314714":"days","-1763848396":"Put","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-993480898":"Accumulators","-1790089996":"NEW!","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-880722426":"Market is closed","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-590131162":"Stay on {{website_domain}}","-1444663817":"Go to Binary.com","-1526466612":"You’ve selected a trade type that is currently unsupported, but we’re working on it.","-1043795232":"Recent positions","-1572796316":"Purchase price:","-153220091":"{{display_value}} Tick","-802374032":"Hour","-2039780875":"Purchase confirmation","-1672470173":"Require confirmation before purchasing a contract","-1342661765":"Lock contract purchase buttons","-939764287":"Charts","-1738427539":"Purchase","-504410042":"When you open a position, barriers will be created around the asset price. For each new tick, the upper and lower barriers are automatically calculated based on the asset and accumulator value you choose. You will earn a profit if you close your position before the asset price hits either of the barriers.","-1907770956":"As long as the price change for each tick is within the barrier, your payout will grow at every tick, based on the accumulator value you’ve selected.","-997670083":"Maximum ticks","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-705681870":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1666375348":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","-2024955268":"If you select “Up”, you will earn a profit by closing your position when the market price is higher than the entry spot.","-1598433845":"If you select “Down”, you will earn a profit by closing your position when the market price is lower than the entry spot.","-1092777202":"The Stop-out level on the chart indicates the price at which your potential loss equals your entire stake. When the market price reaches this level, your position will be closed automatically. This ensures that your loss does not exceed the amount you paid to purchase the contract.","-885323297":"These are optional parameters for each position that you open:","-584696680":"If you select “Take profit” and specify an amount that you’d like to earn, your position will be closed automatically when your profit is more than or equals to this amount. Your profit may be more than the amount you entered depending on the market price at closing.","-178096090":"“Take profit” cannot be updated. You may update it only when “Deal cancellation” expires.","-206909651":"The entry spot is the market price when your contract is processed by our servers.","-1139774694":"<0>For Put:<1/>You will get a payout if the market price is lower than the strike price at the expiry time. Your payout will grow proportionally to the distance between the market and strike prices. You will start making a profit when the payout is higher than your stake. If the market price is equal to or above the strike price at the expiry time, there won’t be a payout.","-351875097":"Number of ticks","-138599872":"<0>For {{contract_type}}: Get a payout if {{index_name}} is {{strike_status}} than the strike price at the expiry time. Your payout is zero if the market is {{market_status}} or equal to the strike price at the expiry time. You will start making a profit when the payout is higher than your stake.","-2014059656":"higher","-149836494":"Your transaction reference number is {{transaction_id}}","-1382749084":"Go back to trading","-1231210510":"Tick","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-8998663":"Digit: {{last_digit}} ","-1435392215":"About deal cancellation","-2017825013":"Got it","-1280319153":"Cancel your trade anytime within a chosen time-frame. Triggered automatically if your trade reaches the stop out level within the chosen time-frame.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-45873457":"NEW","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-741395299":"{{value}}","-194424366":"above","-1527492178":"Purchase Locked","-725375562":"You can lock/unlock the purchase button from the Settings menu","-601992465":"Accumulate","-30171993":"Your stake will grow by {{growth_rate}}% at every tick starting from the second tick, as long as the price remains within a range of ±{{tick_size_barrier}} from the previous tick price.","-1358367903":"Stake","-1918235233":"Min. stake","-1935239381":"Max. stake","-1930565757":"Your stake is a non-refundable one-time premium to purchase this contract. Your total profit/loss equals the contract value minus your stake.","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-1043117679":"When your current loss equals or exceeds {{stop_out_percentage}}% of your stake, your contract will be closed at the nearest available asset price.","-477998532":"Your contract is closed automatically when your loss is more than or equals to this amount.","-2008947191":"Your contract is closed automatically when your profit is more than or equal to this amount.","-339236213":"Multiplier","-857660728":"Strike Prices","-119134980":"<0>{{trade_type}}: You will get a payout if the market price is {{payout_status}} this price <0>at the expiry time. Otherwise, your payout will be zero.","-243332856":"Last digit stats for latest 1000 ticks for {{ underlying_name }}","-1900883796":"<0>{{trade_type}}: You will get a payout if the market is {{payout_status}} this price <0>at the expiry time. Otherwise, your payout will be zero.","-347156282":"Submit Proof","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-2004386410":"Win","-1072292603":"No Change","-1631669591":"string","-1768939692":"number","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-2035315547":"Low barrier","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1291088318":"Purchase conditions","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1219239717":"One or more mandatory blocks are missing from your workspace. Please add the required block(s) and then try again.","-250761331":"One or more mandatory blocks are disabled in your workspace. Please enable the required block(s) and then try again.","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1904030160":"Transaction performed by (App ID: {{app_id}})","-513103225":"Transaction time","-2066666313":"Credit/Debit","-2140412463":"Buy price","-1981004241":"Sell time","-600828210":"Indicative profit/loss","-706219815":"Indicative price","-3423966":"Take profit<0 />Stop loss","-2082644096":"Current stake","-538215347":"Net deposits","-280147477":"All transactions","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-555592125":"Unfortunately, trading options isn't possible in your country","-1571816573":"Sorry, trading is unavailable in your current location.","-1603581277":"minutes","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file +{"0":"","1014140":"You may also call <0>+447723580049 to place your complaint.","3125515":"Your Deriv MT5 password is for logging in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","3215342":"Last 30 days","7100308":"Hour must be between 0 and 23.","11539750":"set {{ variable }} to Relative Strength Index Array {{ dummy }}","11872052":"Yes, I'll come back later","14365404":"Request failed for: {{ message_type }}, retrying in {{ delay }}s","15377251":"Profit amount: {{profit}}","17843034":"Check proof of identity document verification status","19424289":"Username","19552684":"USD Basket","21035405":"Please tell us why you’re leaving. (Select up to {{ allowed_reasons }} reasons.)","24900606":"Gold Basket","25854018":"This block displays messages in the developer’s console with an input that can be either a string of text, a number, boolean, or an array of data.","26566655":"Summary","26596220":"Finance","27582767":"{{amount}} {{currency}}","27731356":"Your account is temporarily disabled. Please contact us via <0>live chat to enable deposits and withdrawals again.","27830635":"Deriv (V) Ltd","28581045":"Add a real MT5 account","30801950":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Gaming Authority, and will be subject to the laws of Malta.","33433576":"Please use an e-wallet to withdraw your funds.","35089987":"Upload the front and back of your driving licence.","41737927":"Thank you","41754411":"Continue creating account","44877997":"Residence permit","45453595":"Binary Coin","45941470":"Where would you like to start?","46523711":"Your proof of identity is verified","49963458":"Choose an option","50200731":"FX majors (standard/micro lots), FX minors, basket indices, commodities, and cryptocurrencies","53801223":"Hong Kong 50","54185751":"Less than $100,000","55340304":"Keep your current contract?","55916349":"All","58254854":"Scopes","59169515":"If you select \"Asian Rise\", you will win the payout if the last tick is higher than the average of the ticks.","59341501":"Unrecognized file format","59662816":"Stated limits are subject to change without prior notice.","62748351":"List Length","63869411":"This block tests a given number according to the selection","64402604":"Check transfer information","65185694":"Fiat onramp","65982042":"Total","66519591":"Investor password","68885999":"Repeats the previous trade when an error is encountered.","69005593":"The example below restarts trading after 30 or more seconds after 1 minute candle was started.","71016232":"OMG/USD","71445658":"Open","71563326":"A fast and secure fiat-to-crypto payment service. Deposit cryptocurrencies from anywhere in the world using your credit/debit cards and bank transfers.","71853457":"$100,001 - $500,000","72500774":"Please fill in Tax residence.","73086872":"You have self-excluded from trading","73326375":"The low is the lowest point ever reached by the market during the contract period.","74963864":"Under","76916358":"You have reached the withdrawal limit.<0/>Please upload your proof of identity and address to lift the limit to continue your withdrawal.","77945356":"Trade on the go with our mobile app.","81450871":"We couldn’t find that page","82839270":"Upload the page of your passport that contains your photo.","83202647":"Collapse Block","85343079":"Financial assessment","85359122":"40 or more","85389154":"Steps required to continue verification on your mobile","89062902":"Trade on MT5","90266322":"2. Start a chat with your newly created Telegram bot and make sure to send it some messages before proceeding to the next step. (e.g. Hello Bot!)","91993812":"The Martingale Strategy is a classic trading technique that has been used for more than a hundred years, popularised by the French mathematician Paul Pierre Levy in the 18th century.","96381225":"ID verification failed","98473502":"We’re not obliged to conduct an appropriateness test, nor provide you with any risk warnings.","98972777":"random item","100239694":"Upload front of card from your computer","102226908":"Field cannot be empty","108916570":"Duration: {{duration}} days","109073671":"Please use an e-wallet that you have used for deposits previously. Ensure the e-wallet supports withdrawal. See the list of e-wallets that support withdrawals <0>here.","111215238":"Move away from direct light","111718006":"End date","111931529":"Max. total stake over 7 days","113378532":"ETH/USD","115032488":"Buy price and P/L","116005488":"Indicators","117318539":"Password should have lower and uppercase English letters with numbers.","119261701":"Prediction:","119446122":"Contract type is not selected","120340777":"Complete your personal details","123454801":"{{withdraw_amount}} {{currency_symbol}}","124723298":"Upload a proof of address to verify your address","125443840":"6. Restart last trade on error","127307725":"A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.","129729742":"Tax Identification Number*","130567238":"THEN","132596476":"In providing our services to you, we are required to ask you for some information to assess if a given product or service is appropriate for you and whether you have the experience and knowledge to understand the risks involved.<0/><0/>","132689841":"Trade on web terminal","133523018":"Please go to the Deposit page to get an address.","133536621":"and","139454343":"Confirm my limits","141265840":"Funds transfer information","141626595":"Make sure your device has a working camera","142050447":"set {{ variable }} to create text with","142390699":"Connected to your mobile","143970826":"Payment problems?","145146541":"Our accounts and services are unavailable for the Jersey postal code","145736466":"Take a selfie","150486954":"Token name","151344063":"The exit spot is the market price when the contract is closed.","151646545":"Unable to read file {{name}}","152415091":"Math","152524253":"Trade the world’s markets with our popular user-friendly platform.","154545319":"Country of residence is where you currently live.","157593038":"random integer from {{ start_number }} to {{ end_number }}","160746023":"Tether as an Omni token (USDT) is a version of Tether that is hosted on the Omni layer on the Bitcoin blockchain.","160863687":"Camera not detected","162080773":"For Put","164112826":"This block allows you to load blocks from a URL if you have them stored on a remote server, and they will be loaded only when your bot runs.","164564432":"Deposits are temporarily unavailable due to system maintenance. You can make your deposits when the maintenance is complete.","165294347":"Please set your country of residence in your account settings to access the cashier.","165312615":"Continue on phone","165682516":"If you don’t mind sharing, which other trading platforms do you use?","170185684":"Ignore","170244199":"I’m closing my account for other reasons.","171307423":"Recovery","171579918":"Go to Self-exclusion","171638706":"Variables","173991459":"We’re sending your request to the blockchain.","174793462":"Strike","176319758":"Max. total stake over 30 days","176654019":"$100,000 - $250,000","177099483":"Your address verification is pending, and we’ve placed some restrictions on your account. The restrictions will be lifted once your address is verified.","178413314":"First name should be between 2 and 50 characters.","179083332":"Date","179737767":"Our legacy options trading platform.","181346014":"Notes ","181881956":"Contract Type: {{ contract_type }}","184024288":"lower case","189705706":"This block uses the variable \"i\" to control the iterations. With each iteration, the value of \"i\" is determined by the items in a given list.","189759358":"Creates a list by repeating a given item","191372501":"Accumulation of Income/Savings","192436105":"No need for symbols, digits, or uppercase letters","192573933":"Verification complete","195972178":"Get character","196998347":"We hold customer funds in bank accounts separate from our operational accounts which would not, in the event of insolvency, form part of the company's assets. This meets the <0>Gambling Commission's requirements for the segregation of customer funds at the level: <1>medium protection.","197190401":"Expiry date","201091938":"30 days","203179929":"<0>You can open this account once your submitted documents have been verified.","203271702":"Try again","204797764":"Transfer to client","204863103":"Exit time","206010672":"Delete {{ delete_count }} Blocks","207824122":"Please withdraw your funds from the following Deriv account(s):","209533725":"You’ve transferred {{amount}} {{currency}}","210385770":"If you have an active account, please log in to continue. Otherwise, please sign up.","211224838":"Investment","211461880":"Common names and surnames are easy to guess","211847965":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable withdrawals.","216650710":"You are using a demo account","217403651":"St. Vincent & Grenadines","217504255":"Financial assessment submitted successfully","218441288":"Identity card number","220014242":"Upload a selfie from your computer","220186645":"Text Is empty","220232017":"demo CFDs","222468543":"The amount that you may add to your stake if you’re losing a trade.","223120514":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 50 days.","223607908":"Last digit stats for latest 1000 ticks for {{underlying_name}}","224650827":"IOT/USD","224929714":"Virtual events based bets in the UK and the Isle of Man are offered by {{legal_entity_name}}, Millennium House, Level 1, Victoria Road, Douglas IM2 4RW, Isle of Man, licensed and regulated in Great Britain by the Gambling Commission under <0>account no. 39172 and by the Gambling Supervision Commission in the Isle of Man (<1>view licence).","225887649":"This block is mandatory. It's added to your strategy by default when you create new strategy. You can not add more than one copy of this block to the canvas.","227591929":"To timestamp {{ input_datetime }} {{ dummy }}","227903202":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts.","228079844":"Click here to upload","228521812":"Tests whether a string of text is empty. Returns a boolean value (true or false).","229355215":"Trade on {{platform_name_dbot}}","233500222":"- High: the highest price","235583807":"SMA is a frequently used indicator in technical analysis. It calculates the average market price over a specified period, and is usually used to identify market trend direction: up or down. For example, if the SMA is moving upwards, it means the market trend is up. ","236642001":"Journal","238496287":"Leverage trading is high-risk, so it's a good idea to use risk management features such as stop loss. Stop loss allows you to","243614144":"This is only available for existing clients.","245005091":"lower","245187862":"The DRC will make a <0>decision on the complaint (please note that the DRC mentions no timeframe for announcing its decision).","245812353":"if {{ condition }} return {{ value }}","247418415":"Gaming trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","248565468":"Check your {{ identifier_title }} account email and click the link in the email to proceed.","248909149":"Send a secure link to your phone","251134918":"Account Information","251322536":"Deriv EZ accounts","251445658":"Dark theme","251882697":"Thank you! Your response has been recorded into our system.<0/><0/>Please click ‘OK’ to continue.","254912581":"This block is similar to EMA, except that it gives you the entire EMA line based on the input list and the given period.","256031314":"Cash Business","256602726":"If you close your account:","258310842":"Workspace","258448370":"MT5","258912192":"Trading assessment","260069181":"An error occured while trying to load the URL","260086036":"Place blocks here to perform tasks once when your bot starts running.","260361841":"Tax Identification Number can't be longer than 25 characters.","264976398":"3. 'Error' displays a message in red to highlight something that needs to be resolved immediately.","265644304":"Trade types","267992618":"The platforms lack key features or functionality.","268940240":"Your balance ({{format_balance}} {{currency}}) is less than the current minimum withdrawal allowed ({{format_min_withdraw_amount}} {{currency}}). Please top up your account to continue with your withdrawal.","269322978":"Deposit with your local currency via peer-to-peer exchange with fellow traders in your country.","269607721":"Upload","270339490":"If you select \"Over\", you will win the payout if the last digit of the last tick is greater than your prediction.","270610771":"In this example, the open price of a candle is assigned to the variable \"candle_open_price\".","270712176":"descending","270780527":"You've reached the limit for uploading your documents.","272042258":"When you set your limits, they will be aggregated across all your account types in {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. For example, the losses made on all four platforms will add up and be counted towards the loss limit you set.","272179372":"This block is commonly used to adjust the parameters of your next trade and to implement stop loss/take profit logic.","273350342":"Copy and paste the token into the app.","273728315":"Should not be 0 or empty","274268819":"Volatility 100 Index","275116637":"Deriv X","277469417":"Exclude time cannot be for more than five years.","278684544":"get sub-list from # from end","282319001":"Check your image","282564053":"Next, we'll need your proof of address.","283830551":"Your address doesn’t match your profile","283986166":"Self-exclusion on the website only applies to your {{brand_website_name}} account and does not include other companies or websites.","284527272":"antimode","284772879":"Contract","287934290":"Are you sure you want to cancel this transaction?","289898640":"TERMS OF USE","291817757":"Go to our Deriv community and learn about APIs, API tokens, ways to use Deriv APIs, and more.","292491635":"If you select “Stop loss” and specify an amount to limit your loss, your position will be closed automatically when your loss is more than or equals to this amount. Your loss may be more than the amount you entered depending on the market price at closing.","292526130":"Tick and candle analysis","292589175":"This will display the SMA for the specified period, using a candle list.","292887559":"Transfer to {{selected_value}} is not allowed, Please choose another account from dropdown","294305803":"Manage account settings","294335229":"Sell at market price","301441673":"Select your citizenship/nationality as it appears on your passport or other government-issued ID.","303959005":"Sell Price:","304309961":"We're reviewing your withdrawal request. You may still cancel this transaction if you wish. Once we start processing, you won't be able to cancel.","307971599":"<0>For Call:<1/>You will get a payout if the market price is higher than the strike price at the expiry time. Your payout will grow proportionally to the distance between the market and strike prices. You will start making a profit when the payout is higher than your stake. If the market price is equal to or below the strike price at the expiry time, there won’t be a payout.","310234308":"Close all your positions.","312142140":"Save new limits?","312300092":"Trims the spaces within a given string or text.","313298169":"Our cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","313741895":"This block returns “True” if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","315306603":"You have an account that do not have currency assigned. Please choose a currency to trade with this account.","316694303":"Is candle black?","318865860":"close","318984807":"This block repeats the instructions contained within for a specific number of times.","323179846":"The time interval for each candle can be set from one minute to one day.","323209316":"Select a Deriv Bot Strategy","323360883":"Baskets","325662004":"Expand Block","325763347":"result","326770937":"Withdraw {{currency}} ({{currency_symbol}}) to your wallet","327534692":"Duration value is not allowed. To run the bot, please enter {{min}}.","328539132":"Repeats inside instructions specified number of times","329404045":"<0>Switch to your real account<1> to create a {{platform}} {{account_title}} account.","333121115":"Select Deriv MT5's account type","333456603":"Withdrawal limits","334680754":"Switch to your real account to create a Deriv MT5 account","334942497":"Buy time","335040248":"About us","337023006":"Start time cannot be in the past.","339449279":"Remaining time","339610914":"Spread Up/Spread Down","339879944":"GBP/USD","340807218":"Description not found.","342181776":"Cancel transaction","343873723":"This block displays a message. You can specify the color of the message and choose from 6 different sound options.","344418897":"These trading limits and self-exclusion help you control the amount of money and time you spend on {{brand_website_name}} and exercise <0>responsible trading.","345320063":"Invalid timestamp","346994074":"Selecting this will onboard you through Deriv (SVG) LLC (company no. 273 LLC 2020)","347029309":"Forex: standard/micro","347039138":"Iterate (2)","348951052":"Your cashier is currently locked","349047911":"Over","349110642":"<0>{{payment_agent}}<1>'s contact details","350602311":"Stats show the history of consecutive tick counts, i.e. the number of ticks the price remained within range continuously.","351744408":"Tests if a given text string is empty","352363702":"You may see links to websites with a fake Deriv login page where you’ll get scammed for your money.","353731490":"Job done","354945172":"Submit document","357477280":"No face found","359053005":"Please enter a token name.","359649435":"Given candle list is not valid","359809970":"This block gives you the selected candle value from a list of candles within the selected time interval. You can choose from open price, close price, high price, low price, and open time.","360224937":"Logic","362772494":"This should not exceed {{max}} characters.","362946954":"Our legacy automated trading platform.","363576009":"- High price: the highest price","363738790":"Browser","363990763":"Sell price:","367801124":"Total assets in your Deriv accounts.","368160866":"in list","371151609":"Last used","371710104":"This scope will allow third-party apps to buy and sell contracts for you, renew your expired purchases, and top up your demo accounts.","372291654":"Exclude time must be after today.","372645383":"True if the market direction matches the selection","373021397":"random","373306660":"{{label}} is required.","373495360":"This block returns the entire SMA line, containing a list of all values for a given period.","374537470":"No results for \"{{text}}\"","375714803":"Deal Cancellation Error","379523479":"To avoid loss of funds, do not share tokens with the Admin scope with unauthorised parties.","380606668":"tick","380694312":"Maximum consecutive trades","382781785":"Your contract is closed automatically when your profit is more than or equals to this amount.","384303768":"This block returns \"True\" if the last candle is black. It can be placed anywhere on the canvas except within the Trade parameters root block.","386191140":"You can choose between CFD trading accounts or Options and Multipliers accounts","386278304":"Install the {{platform_name_trader}} web app","386502387":"Bot is not running","389923099":"Zoom in","390647540":"Real account","390890891":"Last quarter","391915203":"Hedging","392582370":"Fall Equals","393789743":"Letters, spaces, periods, hyphens, apostrophes only.","396418990":"Offline","396801529":"To start trading, top-up funds from your Deriv account into this account.","396961806":"We do not support Polygon (Matic), to deposit please use only Ethereum ({{token}}).","398816980":"Launch {{platform_name_trader}} in seconds the next time you want to trade.","401339495":"Verify address","402343402":"Due to an issue on our server, some of your {{platform}} accounts are unavailable at the moment. Please bear with us and thank you for your patience.","403456289":"The formula for SMA is:","404743411":"Total deposits","406359555":"Contract details","406497323":"Sell your active contract if needed (optional)","408477401":"We’ve also limited the maximum duration for every contract, and it differs according to the accumulator value that you choose. Your contract will be closed automatically when the maximum duration is reached.","411482865":"Add {{deriv_account}} account","412433839":"I agree to the <0>terms and conditions.","413594348":"Only letters, numbers, space, hyphen, period, and forward slash are allowed.","416296716":"Maximum payout","417714706":"If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","417864079":"You’ll not be able to change currency once you have made a deposit.","418265501":"Demo Derived","419485005":"Spot","420072489":"CFD trading frequency","422055502":"From","424272085":"We take your financial well-being seriously and want to ensure you are fully aware of the risks before trading.<0/><0/>","424897068":"Do you understand that you could potentially lose 100% of the money you use to trade?","426031496":"Stop","427134581":"Try using another file type.","427617266":"Bitcoin","428709688":"Your preferred time interval between each report:","430975601":"Town/City is not in a proper format.","432508385":"Take Profit: {{ currency }} {{ take_profit }}","432519573":"Document uploaded","433348384":"Real accounts are not available to politically exposed persons (PEPs).","433616983":"2. Investigation phase","434548438":"Highlight function definition","434896834":"Custom functions","436364528":"Your account will be opened with {{legal_entity_name}}, and will be subject to the laws of Saint Vincent and the Grenadines.","437138731":"Create a new {{platform}} password","437453244":"Choose your preferred cryptocurrency","437485293":"File type not supported","437904704":"Maximum open positions","438067535":"Over $500,000","442520703":"$250,001 - $500,000","443559872":"Financial SVG","444484637":"Logic negation","445419365":"1 - 2 years","450983288":"Your deposit is unsuccessful due to an error on the blockchain. Please contact your crypto wallet service provider for more info.","451852761":"Continue on your phone","452054360":"Similar to RSI, this block gives you a list of values for each entry in the input list.","453175851":"Your MT5 Financial STP account will be opened through {{legal_entity_name}}. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","453409608":"Your profit is the percentage change in market price times your stake and the multiplier of your choice.","454196938":"Regulation:","454593402":"2. Please upload one of the following:","456746157":"Grant access to your camera from your browser settings","457020083":"It’ll take longer to verify you if we can’t read it","457494524":"1. From the block library, enter a name for the new variable and click Create.","459612953":"Select account","459817765":"Pending","460975214":"Complete your Appropriateness Test","461795838":"Please contact us via live chat to unlock it.","462079779":"Resale not offered","463361726":"Select an item","465993338":"Oscar's Grind","466369320":"Your gross profit is the percentage change in market price times your stake and the multiplier chosen here.","466837068":"Yes, increase my limits","467839232":"I trade forex CFDs and other complex financial instruments regularly on other platforms.","473154195":"Settings","473863031":"Pending proof of address review","474306498":"We’re sorry to see you leave. Your account is now closed.","475492878":"Try Synthetic Indices","476023405":"Didn't receive the email?","477557241":"Remote blocks to load must be a collection.","478280278":"This block displays a dialog box that uses a customised message to prompt for an input. The input can be either a string of text or a number and can be assigned to a variable. When the dialog box is displayed, your strategy is paused and will only resume after you enter a response and click \"OK\".","479420576":"Tertiary","480356486":"*Boom 300 and Crash 300 Index","481276888":"Goes Outside","483279638":"Assessment Completed<0/><0/>","483591040":"Delete all {{ delete_count }} blocks?","485379166":"View transactions","487239607":"Converts a given True or False to the opposite value","488150742":"Resend email","489768502":"Change investor password","491603904":"Unsupported browser","492198410":"Make sure everything is clear","492566838":"Taxpayer identification number","497518317":"Function that returns a value","498144457":"A recent utility bill (e.g. electricity, water or gas)","498562439":"or","499522484":"1. for \"string\": 1325.68 USD","500855527":"Chief Executives, Senior Officials and Legislators","500920471":"This block performs arithmetic operations between two numbers.","501401157":"You are only allowed to make deposits","501537611":"*Maximum number of open positions","502041595":"This block gives you a specific candle from within the selected time interval.","503137339":"Payout limit","505793554":"last letter","508390614":"Demo Financial STP","510815408":"Letters, numbers, spaces, hyphens only","514031715":"list {{ input_list }} is empty","514776243":"Your {{account_type}} password has been changed.","514948272":"Copy link","518955798":"7. Run Once at Start","520136698":"Boom 500 Index","521872670":"item","522283618":"Digital options trading experience","522703281":"divisible by","523123321":"- 10 to the power of a given number","527329988":"This is a top-100 common password","529056539":"Options","529597350":"If you had any open positions, we have closed them and refunded you.","530953413":"Authorised applications","531114081":"3. Contract Type","531675669":"Euro","535041346":"Max. total stake per day","538228086":"Close-Low","541650045":"Manage {{platform}} password","541700024":"First, enter your driving licence number and the expiry date.","542038694":"Only letters, numbers, space, underscore, and hyphen are allowed for {{label}}.","542305026":"You must also submit a proof of identity.","543413346":"You have no open positions for this asset. To view other open positions, click Go to Reports","543915570":"Forex, stocks, stock indices, cryptocurrencies, synthetic indices","545476424":"Total withdrawals","546534357":"If you select “Deal cancellation”, you’ll be able to cancel your trade within a chosen time frame should the market move against your favour. We’ll charge a small fee for this, but we’ll return your stake amount without profit or loss. If the stop-out amount is reached before the deal cancellation expires, your position will be cancelled automatically and we’ll return your stake amount without profit or loss. While “Deal cancellation” is active:","549479175":"Deriv Multipliers","551569133":"Learn more about trading limits","554410233":"This is a top-10 common password","555351771":"After defining trade parameters and trade options, you may want to instruct your bot to purchase contracts when specific conditions are met. To do that you can use conditional blocks and indicators blocks to help your bot to make decisions.","555881991":"National Identity Number Slip","556264438":"Time interval","559224320":"Our classic “drag-and-drop” tool for creating trading bots, featuring pop-up trading charts, for advanced users.","561982839":"Change your currency","562599414":"This block returns the purchase price for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","563034502":"We shall try to resolve your complaint within 15 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","563166122":"We shall acknowledge receiving your complaint, review it carefully, and keep you updated on the handling process. We might request further information or clarifications to facilitate the resolution of the complaint.","563652273":"Go to block","565410797":"The below image illustrates how Simple Moving Average Array block works:","566274201":"1. Market","567019968":"A variable is among the most important and powerful components in creating a bot. It is a way to store information, either as text or numbers. The information stored as a variable can be used and changed according to the given instructions. Variables can be given any name, but usually they are given useful, symbolic names so that it is easier to call them during the execution of instructions.","567163880":"Create a {{platform}} password","567755787":"Tax Identification Number is required.","569057236":"In which country was your document issued?","571921777":"Funds protection level","572576218":"Languages","573173477":"Is candle {{ input_candle }} black?","576355707":"Select your country and citizenship:","577215477":"count with {{ variable }} from {{ start_number }} to {{ end_number }} by {{ step_size }}","577779861":"Withdrawal","577883523":"4. Awards and orders","578640761":"Call Spread","579529868":"Show all details — including the bottom 2 lines","580431127":"Restart buy/sell on error (disable for better performance): {{ checkbox }}","580665362":"Stays In/Goes Out","580774080":"insert at","581168980":"Legal","582945649":"2 minutes","584028307":"Allow equals","587577425":"Secure my account","587856857":"Want to know more about APIs?","588609216":"Repeat tour","590508080":"If you select “Take profit” and specify an amount that you’d like to earn, your position will be closed automatically when your profit is more than or equal to this amount. Your profit may be more than the amount you entered depending on the market price (and accumulator value) at closing.","592087722":"Employment status is required.","593459109":"Try a different currency","595080994":"Example: CR123456789","595136687":"Save Strategy","597089493":"Here is where you can decide to sell your contract before it expires. Only one copy of this block is allowed.","597481571":"DISCLAIMER","597707115":"Tell us about your trading experience.","599469202":"{{secondPast}}s ago","602278674":"Verify identity","603849445":"Strike price","606240547":"- Natural log","606877840":"Back to today","607807243":"Get candle","609519227":"This is the email address associated with your Deriv account.","609650241":"Infinite loop detected","610537973":"Any information you provide is confidential and will be used for verification purposes only.","611020126":"View address on Blockchain","611786123":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies, Stocks, and Stock Indices","613877038":"Chart","617345387":"If you select \"Reset-Up”, you win the payout if the exit spot is strictly higher than either the entry spot or the spot at reset time.","618520466":"Example of a cut-off document","619268911":"<0>a.The Financial Commission will investigate the validity of the complaint within 5 business days.","619407328":"Are you sure you want to unlink from {{identifier_title}}?","623192233":"Please complete the <0>Appropriateness Test to access your cashier.","623542160":"Exponential Moving Average Array (EMAA)","625571750":"Entry spot:","626175020":"Standard Deviation Up Multiplier {{ input_number }}","626809456":"Resubmit","627292452":"<0>Your Proof of Identity or Proof of Address did not meet our requirements. Please check your email for further instructions.","627814558":"This block returns a value when a condition is true. Use this block within either of the function blocks above.","628193133":"Account ID","629145209":"In case if the \"AND\" operation is selected, the block returns \"True\" only if both given values are \"True\"","632398049":"This block assigns a null value to an item or statement.","634219491":"You have not provided your tax identification number. This information is necessary for legal and regulatory requirements. Please go to <0>Personal details in your account settings, and fill in your latest tax identification number.","636219628":"<0>c.If no settlement opportunity can be found, the complaint will proceed to the determination phase to be handled by the DRC.","639382772":"Please upload supported file type.","640596349":"You have yet to receive any notifications","640730141":"Refresh this page to restart the identity verification process","641420532":"We've sent you an email","642210189":"Please check your email for the verification link to complete the process.","642393128":"Enter amount","642546661":"Upload back of license from your computer","642995056":"Email","643014039":"The trade length of your purchased contract.","644150241":"The number of contracts you have won since you last cleared your stats.","645016681":"Trading frequency in other financial instruments","645902266":"EUR/NZD","647039329":"Proof of address required","647192851":"Contract will be sold at the prevailing market price when the request is received by our servers. This price may differ from the indicated price.","647745382":"Input List {{ input_list }}","649317411":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><1/>","649923867":"Adds a sign to a number to create a barrier offset. (deprecated)","651284052":"Low Tick","651684094":"Notify","652041791":"To create a Deriv X real account, create a Deriv real account first.","652298946":"Date of birth","654264404":"Up to 1:30","654507872":"True-False","654924603":"Martingale","655937299":"We’ll update your limits. Click <0>Accept to acknowledge that you are fully responsible for your actions, and we are not liable for any addiction or loss.","657325150":"This block is used to define trade options within the Trade parameters root block. Some options are only applicable for certain trade types. Parameters such as duration and stake are common among most trade types. Prediction is used for trade types such as Digits, while barrier offsets are for trade types that involve barriers such as Touch/No Touch, Ends In/Out, etc.","657444253":"Sorry, account opening is unavailable in your region.","659482342":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your account settings.","660481941":"To access your mobile apps and other third-party apps, you'll first need to generate an API token.","660991534":"Finish","661759508":"On the basis of the information provided in relation to your knowledge and experience, we consider that the investments available via this website are not appropriate for you.<0/><0/>","662578726":"Available","662609119":"Download the MT5 app","665089217":"Please submit your <0>proof of identity to authenticate your account and access your Cashier.","665777772":"XLM/USD","665872465":"In the example below, the opening price is selected, which is then assigned to a variable called \"op\".","666724936":"Please enter a valid ID number.","672008428":"ZEC/USD","673915530":"Jurisdiction and choice of law","674973192":"Use this password to log in to your Deriv MT5 accounts on the desktop, web, and mobile apps.","676159329":"Could not switch to default account.","677918431":"Market: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}","678517581":"Units","680334348":"This block was required to correctly convert your old strategy.","680478881":"Total withdrawal limit","681926004":"Example of a blurry document","682056402":"Standard Deviation Down Multiplier {{ input_number }}","684282133":"Trading instruments","685391401":"If you're having trouble signing in, let us know via <0>chat","686312916":"Trading accounts","687212287":"Amount is a required field.","688510664":"You've {{two_fa_status}} 2FA on this device. You'll be logged out of your account on other devices (if any). Use your password and a 2FA code to log back in.","689137215":"Purchase price","691956534":"<0>You have added a {{currency}} account.<0> Make a deposit now to start trading.","693396140":"Deal cancellation (expired)","696870196":"- Open time: the opening time stamp","697630556":"This market is presently closed.","698037001":"National Identity Number","698748892":"Let’s try that again","699159918":"1. Filing complaints","700259824":"Account currency","701034660":"We are still processing your withdrawal request.<0 />Please wait for the transaction to be completed before deactivating your account.","701462190":"Entry spot","701647434":"Search for string","702451070":"National ID (No Photo)","705299518":"Next, upload the page of your passport that contains your photo.","706413212":"To access the cashier, you are now in your {{regulation}} {{currency}} ({{loginid}}) account.","706727320":"Binary options trading frequency","706755289":"This block performs trigonometric functions.","707662672":"{{unblock_date}} at {{unblock_time}}","708055868":"Driving licence number","710123510":"repeat {{ while_or_until }} {{ boolean }}","711999057":"Successful","712101776":"Take a photo of your passport photo page","712635681":"This block gives you the selected candle value from a list of candles. You can choose from open price, close price, high price, low price, and open time.","713054648":"Sending","714080194":"Submit proof","714746816":"MetaTrader 5 Windows app","715841616":"Please enter a valid phone number (e.g. +15417541234).","716428965":"(Closed)","718504300":"Postal/ZIP code","720293140":"Log out","720519019":"Reset my password","721011817":"- Raise the first number to the power of the second number","723045653":"You'll log in to your Deriv account with this email address.","723961296":"Manage password","724203548":"You can send your complaint to the <0>European Commission's Online Dispute Resolution (ODR) platform. This is not applicable to UK clients.","728042840":"To continue trading with us, please confirm where you live.","728824018":"Spanish Index","729651741":"Choose a photo","730473724":"This block performs the \"AND\" or the \"OR\" logic operation with the given values.","731382582":"BNB/USD","734390964":"Insufficient balance","734881840":"false","742469109":"Reset Balance","742676532":"Trade CFDs on forex, derived indices, cryptocurrencies, and commodities with high leverage.","744110277":"Bollinger Bands Array (BBA)","745656178":"Use this block to sell your contract at the market price.","745674059":"Returns the specific character from a given string of text according to the selected option. ","746112978":"Your computer may take a few seconds to update","750886728":"Switch to your real account to submit your documents","751692023":"We <0>do not guarantee a refund if you make a wrong transfer.","752024971":"Reached maximum number of digits","752633544":"You will need to submit proof of identity and address once you reach certain thresholds","752992217":"This block gives you the selected constant values.","753088835":"Default","753184969":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you (that is, whether you possess the experience and knowledge to understand the risks involved).<0/><1/>","753727511":"Type","755867072":"{{platform_name_mt5}} is not available in {{country}}","756152377":"SMA places equal weight to the entire distribution of values.","758003269":"make list from text","759783233":"For more information and assistance to counselling and support services, please visit <0>begambleaware.org.","760528514":"Please note that changing the value of \"i\" won't change the value of the original item in the list","761576760":"Fund your account to start trading.","762185380":"<0>Multiply returns by <0>risking only what you put in.","762871622":"{{remaining_time}}s","763019867":"Your Gaming account is scheduled to be closed","764366329":"Trading limits","764540515":"Stopping the bot is risky","766317539":"Language","770171141":"Go to {{hostname}}","772632060":"Do not send any other currency to the following address. Otherwise, you'll lose funds.","773091074":"Stake:","773309981":"Oil/USD","773336410":"Tether is a blockchain-enabled platform designed to facilitate the use of fiat currencies in a digital manner.","775679302":"{{pending_withdrawals}} pending withdrawal(s)","776085955":"Strategies","781924436":"Call Spread/Put Spread","783974693":"Avoid recent years","784311461":"Exponential Moving Average (EMA)","784583814":"Linked to your computer","785969488":"Jump 75 Index","787116142":"The multiplier amount used to increase your stake if you’re losing a trade. Value must be higher than 2.","787727156":"Barrier","788005234":"NA","792622364":"Negative balance protection","793526589":"To file a complaint about our service, send an email to <0>complaints@deriv.com and state your complaint in detail. Please submit any relevant screenshots of your trading or system for our better understanding.","793531921":"Our company is one of the oldest and most reputable online trading companies in the world. We are committed to treat our clients fairly and provide them with excellent service.<0/><1/>Please provide us with feedback on how we can improve our services to you. Rest assured that you will be heard, valued, and treated fairly at all times.","793826881":"This is your personal start page for Deriv","794682658":"Copy the link to your phone","795859446":"Password saved","797007873":"Follow these steps to recover camera access:","797500286":"negative","800228448":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_fx}}.","800521289":"Your personal details are incomplete","801430087":"A link can contain the word \"Deriv\" and still be fake.","802436811":"View transaction details","802438383":"New proof of address is needed","802556390":"seconds","802989607":"Drag your XML file here","803500173":"Initial stake","806165583":"Australia 200","807499069":"Financial commission complaints procedure","808323704":"You can also use \"Compare\" and \"Logic operation\" blocks to make test variables.","811876954":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, and {{platform_name_dxtrade}} accounts.","816580787":"Welcome back! Your messages have been restored.","816738009":"<0/><1/>You may also raise your unresolved dispute to the <2>Office of the Arbiter for Financial Services.","818447476":"Switch account?","820877027":"Please verify your proof of identity","823186089":"A block that can contain text.","824797920":"Is list empty?","826511719":"USD/SEK","827688195":"Disable Block","828219890":"then","828602451":"Returns the list of tick values in string format","830164967":"Last name","830993327":"No current transactions available","832217983":"40 transactions or more in the past 12 months","832398317":"Sell Error","832588873":"Order execution","832721563":"If you select \"Low Tick\", you win the payout if the selected tick is the lowest among the next five ticks.","834966953":"1551661986 seconds since Jan 01 1970 (UTC) translates to 03/04/2019 @ 1:13am (UTC).","835058671":"Total buy price","835350845":"Add another word or two. Uncommon words are better.","836097457":"I am interested in trading but have very little experience.","837066896":"Your document is being reviewed, please check back in 1-3 days.","839618971":"ADDRESS","839805709":"To smoothly verify you, we need a better photo","841434703":"Disable stack","841543189":"View transaction on Blockchain","843333337":"You can only make deposits. Please complete the <0>financial assessment to unlock withdrawals.","845213721":"Logout","845304111":"Slow EMA Period {{ input_number }}","847888634":"Please withdraw all your funds.","850582774":"Please update your personal info","851054273":"If you select \"Higher\", you win the payout if the exit spot is strictly higher than the barrier.","851264055":"Creates a list with a given item repeated for a specific number of times.","851508288":"This block constrains a given number within a set range.","852583045":"Tick List String","854399751":"Digit code must only contain numbers.","854630522":"Choose a cryptocurrency account","857363137":"Volatility 300 (1s) Index","857445204":"Deriv currently supports withdrawals of Tether eUSDT to Ethereum wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","857986403":"do something","860319618":"Tourism","862283602":"Phone number*","863328851":"Proof of identity","864610268":"First, enter your {{label}} and the expiry date.","864957760":"Math Number Positive","865424952":"High-to-Low","865642450":"2. Logged in from a different browser","866496238":"Make sure your license details are clear to read, with no blur or glare","868826608":"Excluded from {{brand_website_name}} until","869823595":"Function","869993298":"Minimum withdrawal","872549975":"You have {{number}} transfers remaining for today.","872661442":"Are you sure you want to update email <0>{{prev_email}} to <1>{{changed_email}}?","872817404":"Entry Spot Time","873166343":"1. 'Log' displays a regular message.","874461655":"Scan the QR code with your phone","874484887":"Take profit must be a positive number.","875532284":"Restart process on a different device","876086855":"Complete the financial assessment form","876292912":"Exit","879014472":"Reached maximum number of decimals","885065431":"Get a Deriv account","888274063":"Town/City","890299833":"Go to Reports","891337947":"Select country","892341141":"Your trading statistics since: {{date_time}}","893117915":"Variable","893963781":"Close-to-Low","893975500":"You do not have any recent bots","894191608":"<0>c.We must award the settlement within 28 days of when the decision is reached.","898457777":"You have added a Deriv Financial account.","898892363":"165+ assets: forex (standard/micro), stocks, stock indices, commodities, and cryptocurrencies","902045490":"3 minutes","903429103":"In candles list read {{ candle_property }} # from end {{ input_number }}","904696726":"API token","905134118":"Payout:","905227556":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters and numbers.","905564365":"MT5 CFDs","906049814":"We’ll review your documents and notify you of its status within 5 minutes.","907680782":"Proof of ownership verification failed","910888293":"Too many attempts","915735109":"Back to {{platform_name}}","918447723":"Real","920125517":"Add demo account","921901739":"- your account details of the bank linked to your account","924046954":"Upload a document showing your name and bank account number or account details.","926813068":"Fixed/Variable","929608744":"You are unable to make withdrawals","930346117":"Capitalization doesn't help very much","930546422":"Touch","933126306":"Enter some text here","933193610":"Only letters, periods, hyphens, apostrophes, and spaces, please.","934835052":"Potential profit","934932936":"PERSONAL","936766426":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit.","937237342":"Strategy name cannot be empty","937682366":"Upload both of these documents to prove your identity.","937831119":"Last name*","937992258":"Table","938500877":"{{ text }}. <0>You can view the summary of this transaction in your email.","938988777":"High barrier","943535887":"Please close your positions in the following Deriv MT5 account(s):","944499219":"Max. open positions","945532698":"Contract sold","946204249":"Read","946841802":"A white (or green) candle indicates that the open price is lower than the close price. This represents an upward movement of the market price.","946944859":"Hit the button below and we'll send you an email with a link. Click that link to verify your withdrawal request.","947046137":"Your withdrawal will be processed within 24 hours","947363256":"Create list","947758334":"City is required","947914894":"Top up  <0>","948156236":"Create {{type}} password","948545552":"150+","949859957":"Submit","952927527":"Regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156)","955352264":"Trade on {{platform_name_dxtrade}}","956448295":"Cut-off image detected","957182756":"Trigonometric functions","958430760":"In/Out","959031082":"set {{ variable }} to MACD Array {{ dropdown }} {{ dummy }}","960201789":"3. Sell conditions","961178214":"You can only purchase one contract at a time","961692401":"Bot","966457287":"set {{ variable }} to Exponential Moving Average {{ dummy }}","968576099":"Up/Down","969987233":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between exit spot and lower barrier.","970915884":"AN","974888153":"High-Low","975668699":"I confirm and accept {{company}} 's <0>Terms and Conditions","975950139":"Country of Residence","977929335":"Go to my account settings","981138557":"Redirect","981568830":"You have chosen to exclude yourself from trading on our website until {{exclude_until}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via <0>live chat.","981965437":"Scan the QR code below with your 2FA app. We recommend <0>Authy or <1>Google Authenticator.","982146443":"WhatsApp","982402892":"First line of address","982829181":"Barriers","987224688":"How many trades have you placed with other financial instruments in the past 12 months?","988361781":"You have no trading activity yet.","988934465":"When prompted, you must enable camera access to continue","989021200":"Predict the market direction and movement size, and select either “Call” or “Put” to open a position.","992294492":"Your postal code is invalid","992677950":"Logging out on other devices","993827052":"Choosing this jurisdiction will give you a Financial STP account. Your trades will go directly to the market and have tighter spreads.","995563717":"not {{ boolean }}","999008199":"text","1001160515":"Sell","1001749987":"You’ll get a warning, named margin call, if your account balance drops down close to the stop out level.","1003876411":"Should start with letter or number and may contain a hyphen, period and slash.","1004127734":"Send email","1006458411":"Errors","1006664890":"Silent","1009032439":"All time","1010198306":"This block creates a list with strings and numbers.","1010337648":"We were unable to verify your proof of ownership.","1012102263":"You will not be able to log in to your account until this date (up to 6 weeks from today).","1015201500":"Define your trade options such as duration and stake.","1016220824":"You need to switch to a real money account to use this feature.<0/>You can do this by selecting a real account from the <1>Account Switcher.","1018803177":"standard deviation","1019265663":"You have no transactions yet.","1019508841":"Barrier 1","1021679446":"Multipliers only","1022934784":"1 minute","1023237947":"1. In the example below, the instructions are repeated as long as the value of x is less than or equal to 10. Once the value of x exceeds 10, the loop is terminated.","1023643811":"This block purchases contract of a specified type.","1023795011":"Even/Odd","1024205076":"Logic operation","1025887996":"Negative Balance Protection","1026046972":"Please enter a payout amount that's lower than {{max_payout}}.","1027098103":"Leverage gives you the ability to trade a larger position using your existing capital. Leverage varies across different symbols.","1028211549":"All fields are required","1028758659":"Citizenship*","1029164365":"We presume that you possess the experience, knowledge, and expertise to make your own investment decisions and properly assess the risk involved.","1030021206":"change {{ variable }} by {{ number }}","1031602624":"We've sent a secure link to %{number}","1031731167":"Pound Sterling","1032173180":"Deriv","1032907147":"AUD/NZD","1035506236":"Choose a new password","1036116144":"Speculate on the price movement of an asset without actually owning it.","1036867749":"The desired duration, stake, prediction, and/or barrier(s) for the contract is defined here.","1038575777":"Change password","1039428638":"EU regulation","1039755542":"Use a few words, avoid common phrases","1040053469":"For Call","1040677897":"To continue trading, you must also submit a proof of address.","1041001318":"This block performs the following operations on a given list: sum, minimum, maximum, average, median, mode, antimode, standard deviation, random item.","1041620447":"If you are unable to scan the QR code, you can manually enter this code instead:","1042659819":"You have an account that needs action","1043790274":"There was an error","1044230481":"This is an Ethereum ({{token}}) only address, please do not use {{prohibited_token}}.","1044540155":"100+","1044599642":"<0> has been credited into your {{platform}} {{title}} account.","1045704971":"Jump 150 Index","1045782294":"Click the <0>Change password button to change your Deriv password.","1047389068":"Food Services","1047881477":"Unfortunately, your browser does not support the video.","1048687543":"Labuan Financial Services Authority","1048947317":"Sorry, this app is unavailable in {{clients_country}}.","1049384824":"Rise","1050128247":"I confirm that I have verified the payment agent’s transfer information.","1050844889":"Reports","1052137359":"Family name*","1052779010":"You are on your demo account","1053153674":"Jump 50 Index","1053159279":"Level of education","1055313820":"No document detected","1056381071":"Return to trade","1056821534":"Are you sure?","1057216772":"text {{ input_text }} is empty","1057749183":"Two-factor authentication (2FA)","1057765448":"Stop out level","1057904606":"The concept of the D’Alembert Strategy is said to be similar to the Martingale Strategy where you will increase your contract size after a loss. With the D’Alembert Strategy, you will also decrease your contract size after a successful trade.","1060231263":"When are you required to pay an initial margin?","1061308507":"Purchase {{ contract_type }}","1061561084":"Switch to your real account to create a Deriv MT5 {{account_title}} {{type_title}} account.","1062536855":"Equals","1065353420":"110+","1065498209":"Iterate (1)","1066235879":"Transferring funds will require you to create a second account.","1069347258":"The verification link you used is invalid or expired. Please request for a new one.","1069576070":"Purchase lock","1070624871":"Check proof of address document verification status","1076006913":"Profit/loss on the last {{item_count}} contracts","1077515534":"Date to","1078221772":"Leverage prevents you from opening large positions.","1080068516":"Action","1080990424":"Confirm","1082158368":"*Maximum account cash balance","1082406746":"Please enter a stake amount that's at least {{min_stake}}.","1083781009":"Tax identification number*","1083826534":"Enable Block","1086118495":"Traders Hub","1088031284":"Strike:","1088138125":"Tick {{current_tick}} - ","1089085289":"Mobile number","1096078516":"We’ll review your documents and notify you of its status within 3 days.","1096175323":"You’ll need a Deriv account","1098147569":"Purchase commodities or shares of a company.","1098622295":"\"i\" starts with the value of 1, and it will be increased by 2 at every iteration. The loop will repeat until \"i\" reaches the value of 12, and then the loop is terminated.","1100133959":"National ID","1100870148":"To learn more about account limits and how they apply, please go to the <0>Help Centre.","1101560682":"stack","1101712085":"Buy Price","1102420931":"Next, upload the front and back of your driving licence.","1102995654":"Calculates Exponential Moving Average (EMA) list from a list of values with a period","1103309514":"Target","1103452171":"Cookies help us to give you a better experience and personalised content on our site.","1104912023":"Pending verification","1107474660":"Submit proof of address","1107555942":"To","1109217274":"Success!","1110102997":"Statement","1112582372":"Interval duration","1113119682":"This block gives you the selected candle value from a list of candles.","1113292761":"Less than 8MB","1113433728":"Resubmit your proof of identity and address","1117863275":"Security and safety","1118294625":"You have chosen to exclude yourself from trading on our website until {{exclusion_end}}. If you are unable to place a trade or deposit after your self-exclusion period, please contact us via live chat.","1119887091":"Verification","1119986999":"Your proof of address was submitted successfully","1120985361":"Terms & conditions updated","1122910860":"Please complete your <0>financial assessment.","1123927492":"You have not selected your account currency","1125090693":"Must be a number","1126075317":"Add your Deriv MT5 <0>{{account_type_name}} STP account under Deriv (FX) Ltd regulated by Labuan Financial Services Authority (Licence no. MB/18/0024).","1126934455":"Length of token name must be between 2 and 32 characters.","1127149819":"Make sure§","1128139358":"How many CFD trades have you placed in the past 12 months?","1128321947":"Clear All","1128404172":"Undo","1129124569":"If you select \"Under\", you will win the payout if the last digit of the last tick is less than your prediction.","1129842439":"Please enter a take profit amount.","1130744117":"We shall try to resolve your complaint within 10 business days. We will inform you of the outcome together with an explanation of our position and propose any remedial measures we intend to take.","1130791706":"N","1133651559":"Live chat","1134879544":"Example of a document with glare","1138126442":"Forex: standard","1139483178":"Enable stack","1143730031":"Direction is {{ direction_type }}","1144028300":"Relative Strength Index Array (RSIA)","1145927365":"Run the blocks inside after a given number of seconds","1146064568":"Go to Deposit page","1147269948":"Barrier cannot be zero.","1147625645":"Please proceed to withdraw all your funds from your account before <0>30 November 2021.","1150637063":"*Volatility 150 Index and Volatility 250 Index","1151964318":"both sides","1152294962":"Upload the front of your driving licence.","1154021400":"list","1154239195":"Title and name","1155011317":"This block converts the date and time to the number of seconds since the Unix Epoch (1970-01-01 00:00:00).","1155626418":"below","1158678321":"<0>b.The Head of the Dispute Resolution Committee (DRC) will contact both you and us within 5 business days to obtain all necessary information and see if there is a chance to settle the complaint during the investigation phase.","1160761178":"No payout if exit spot is below or equal to the lower barrier.","1161924555":"Please select an option","1163836811":"Real Estate","1164773983":"Take profit and/or stop loss are not available while deal cancellation is active.","1166128807":"Choose one of your accounts or add a new cryptocurrency account","1166377304":"Increment value","1168029733":"Win payout if exit spot is also equal to entry spot.","1169201692":"Create {{platform}} password","1170228717":"Stay on {{platform_name_trader}}","1174542625":"- Find the chat ID property in the response, and copy the value of the id property","1174748431":"Payment channel","1175183064":"Vanuatu","1176926166":"Experience with trading other financial instruments","1177396776":"If you select \"Asian Fall\", you will win the payout if the last tick is lower than the average of the ticks.","1177723589":"There are no transactions to display","1178582280":"The number of contracts you have lost since you last cleared your stats.","1178800778":"Take a photo of the back of your license","1178942276":"Please try again in a minute.","1179704370":"Please enter a take profit amount that's higher than the current potential profit.","1180619731":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","1181396316":"This block gives you a random number from within a set range","1181770592":"Profit/loss from selling","1183007646":"- Contract type: the name of the contract type such as Rise, Fall, Touch, No Touch, etс.","1188316409":"To receive your funds, contact the payment agent with the details below","1188980408":"5 minutes","1189368976":"Please complete your personal details before you verify your identity.","1191429031":"Please click on the link in the email to change your <0>{{platform_name_dxtrade}} password.","1191644656":"Predict the market direction and select either “Up” or “Down” to open a position. We will charge a commission when you open a position.","1192708099":"Duration unit","1195393249":"Notify {{ notification_type }} with sound: {{ notification_sound }} {{ input_message }}","1196006480":"Profit threshold","1196683606":"Deriv MT5 CFDs demo account","1197326289":"You are no longer able to trade digital options on any of our platforms. Also, you can’t make deposits into your Options account.","1198368641":"Relative Strength Index (RSI)","1199281499":"Last Digits List","1201533528":"Contracts won","1201773643":"numeric","1203297580":"This block sends a message to a Telegram channel.","1204223111":"In this example, the open prices from a list of candles are assigned to a variable called \"candle_list\".","1206227936":"How to mask your card?","1206821331":"Armed Forces","1208729868":"Ticks","1208903663":"Invalid token","1211912982":"Bot is starting","1214893428":"Account creation is currently unavailable for mobile. Please log in with your computer to create a new account.","1216408337":"Self-Employed","1217159705":"Bank account number","1217481729":"Tether as an ERC20 token (eUSDT) is a version of Tether that is hosted on Ethereum.","1218546232":"What is Fiat onramp?","1219844088":"do %1","1221250438":"To enable withdrawals, please submit your <0>Proof of Identity (POI) and <1>Proof of Address (POA) and also complete the <2>financial assessment in your account settings.","1222096166":"Deposit via bank wire, credit card, and e-wallet","1222521778":"Making deposits and withdrawals is difficult.","1222544232":"We’ve sent you an email","1225150022":"Number of assets","1227074958":"random fraction","1227240509":"Trim spaces","1228534821":"Some currencies may not be supported by payment agents in your country.","1229883366":"Tax identification number","1230884443":"State/Province (optional)","1231282282":"Use only the following special characters: {{permitted_characters}}","1232291311":"Maximum withdrawal remaining","1232353969":"0-5 transactions in the past 12 months","1233300532":"Payout","1234219091":"You haven't finished creating your account","1234292259":"Source of wealth","1234764730":"Upload a screenshot of your name and email address from the personal details section.","1235426525":"50%","1237330017":"Pensioner","1238311538":"Admin","1239760289":"Complete your trading assessment","1239940690":"Restarts the bot when an error is encountered.","1240027773":"Please Log in","1241238585":"You may transfer between your Deriv fiat, cryptocurrency, and {{platform_name_mt5}} accounts.","1243064300":"Local","1246207976":"Enter the authentication code generated by your 2FA app:","1246880072":"Select issuing country","1247280835":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can make cryptocurrency deposits and withdrawals in a few minutes when the maintenance is complete.","1248018350":"Source of income","1248940117":"<0>a.The decisions made by the DRC are binding on us. DRC decisions are binding on you only if you accept them.","1250495155":"Token copied!","1254565203":"set {{ variable }} to create list with","1255909792":"last","1255963623":"To date/time {{ input_timestamp }} {{ dummy }}","1258097139":"What could we do to improve?","1258198117":"positive","1259598687":"GBP/JPY","1260259925":"Phone is not in a proper format.","1263387702":"All {{count}} account types use market execution. This means you agree with the broker's price in advance and will place orders at the broker's price.","1264096613":"Search for a given string","1264842111":"You can switch between real and demo accounts.","1265704976":"","1270581106":"If you select \"No Touch\", you win the payout if the market never touches the barrier at any time during the contract period.","1272012156":"GBP/CHF","1272337240":"Days","1272681097":"Hours","1274819385":"3. Complaints and Disputes","1275474387":"Quick","1281045211":"Sorts the items in a given list, by their numeric or alphabetical value, in either ascending or descending order.","1281290230":"Select","1282951921":"Only Downs","1284522768":"If \"Loss\" is selected, it will return \"True\" if your last trade was unsuccessful. Otherwise, it will return an empty string.","1286094280":"Withdraw","1286507651":"Close identity verification screen","1288965214":"Passport","1289146554":"British Virgin Islands Financial Services Commission","1289646209":"Margin call","1290525720":"Example: ","1291887623":"Digital options trading frequency","1292188546":"Reset Deriv MT5 investor password","1292891860":"Notify Telegram","1293660048":"Max. total loss per day","1294756261":"This block creates a function, which is a group of instructions that can be executed at any time. Place other blocks in here to perform any kind of action that you need in your strategy. When all the instructions in a function have been carried out, your bot will continue with the remaining blocks in your strategy. Click the “do something” field to give it a name of your choice. Click the plus icon to send a value (as a named variable) to your function.","1295284664":"Please accept our <0>updated Terms and Conditions to proceed.","1296380713":"Close my contract","1299479533":"8 hours","1300576911":"Please resubmit your proof of address or we may restrict your account.","1302691457":"Occupation","1303016265":"Yes","1303530014":"We’re processing your withdrawal.","1304083330":"copy","1304272843":"Please submit your proof of address.","1304620236":"Enable camera","1304788377":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to the <2>Information and Data Protection Commissioner (Malta) on their website or make a complaint to any supervisory authority within the European Union.","1304807342":"Compare CFDs demo accounts","1305217290":"Upload the back of your identity card.","1308625834":"Sets the default time interval for blocks that read list of candles.","1309017029":"Enabling this allows you to save your blocks as one collection which can be easily integrated into other bots.","1309044871":"Returns the value of the latest tick in string format","1310483610":"Results for \"{{ search_term }}\"","1311680770":"payout","1311799109":"We do not support Binance Smart Chain tokens to deposit, please use only Ethereum ({{token}}).","1313167179":"Please log in","1313302450":"The bot will stop trading if your total loss exceeds this amount.","1316216284":"You can use this password for all your {{platform}} accounts.","1319217849":"Check your mobile","1320750775":"Front and back","1322804930":"Restart the process on the latest version of Google Chrome","1323327633":"Our complaints process comprises the following 4 steps:","1323476617":"Changes the capitalisation of a string of text to Upper case, Lower case, Title case.","1323996051":"Profile","1324110809":"Address information","1324922837":"2. The new variable will appear as a block under Set variable.","1327181172":"Financial Vanuatu","1327494533":"{{sell_value}} (Sell)","1329136554":"Jump 200 Index","1329325646":"The content of this block is called on every tick","1331199417":"Please enter the correct format. ","1331367811":"Client account number","1332168410":"Learn more","1332168769":"Disconnect","1333576137":"Please update your {{details}} to continue.","1333839457":"Submit identity card (front)","1334326985":"It may take a few minutes to arrive","1335967988":"Notice","1336052175":"Switch accounts","1337846406":"This block gives you the selected candle value from a list of candles within the selected time interval.","1337864666":"Photo of your document","1338496204":"Ref. ID","1339613797":"Regulator/External dispute resolution","1341840346":"View in Journal","1346204508":"Take profit","1346339408":"Managers","1347071802":"{{minutePast}}m ago","1348009461":"Please close your positions in the following Deriv X account(s):","1349133669":"Try changing your search criteria.","1349289354":"Great, that's everything we need","1349295677":"in text {{ input_text }} get substring from {{ position1 }} {{ index1 }} to {{ position2 }} {{ index2 }}","1351906264":"This feature is not available for payment agents.","1353197182":"Please select","1354288636":"Based on your answers, it looks like you have insufficient knowledge and experience in trading CFDs. CFD trading is risky and you could potentially lose all of your capital.<0/><0/>","1355250245":"{{ calculation }} of list {{ input_list }}","1356574493":"Returns a specific portion of a given string of text.","1356607862":"Deriv password","1357129681":"{{num_day}} days {{num_hour}} hours {{num_minute}} minutes","1357213116":"Identity card","1358543466":"Not available","1358543748":"enabled","1359424217":"You have sold this contract at <0 />","1360929368":"Add a Deriv account","1362578283":"High","1363060668":"Your trading statistics since:","1363645836":"Derived FX","1363675688":"Duration is a required field.","1364958515":"Stocks","1366244749":"Limits","1367023655":"To ensure your loss does not exceed your stake, your contract will be closed automatically when your loss equals to <0/>.","1367488817":"4. Restart trading conditions","1367990698":"Volatility 10 Index","1369709538":"Our terms of use","1370647009":"Enjoy higher daily limits","1371193412":"Cancel","1371555192":"Choose your preferred payment agent and enter your withdrawal amount. If your payment agent is not listed, <0>search for them using their account number.","1371641641":"Open the link on your mobile","1371911731":"Financial products in the EU are offered by {{legal_entity_name}}, licensed as a Category 3 Investment Services provider by the Malta Financial Services Authority (<0>Licence no. IS/70156).","1374627690":"Max. account balance","1376329801":"Last 60 days","1378419333":"Ether","1383017005":"You have switched accounts.","1384127719":"You should enter {{min}}-{{max}} numbers.","1384222389":"Please submit valid identity documents to unlock the cashier.","1385418910":"Please set a currency for your existing real account before creating another account.","1387503299":"Log in","1388770399":"Proof of identity required","1389197139":"Import error","1390792283":"Trade parameters","1391174838":"Potential payout:","1392966771":"Mrs","1392985917":"This is similar to a commonly used password","1393559748":"Invalid date/time: {{ datetime_string }}","1393901361":"There’s an app for that","1393903598":"if true {{ return_value }}","1396179592":"Commission","1396417530":"Bear Market Index","1397628594":"Insufficient funds","1400341216":"We’ll review your documents and notify you of its status within 1 to 3 days.","1400637999":"(All fields are required)","1400732866":"View from camera","1400962248":"High-Close","1402208292":"Change text case","1403376207":"Update my details","1405584799":"with interval: {{ candle_interval_type }}","1407191858":"DTrader","1408844944":"Click the plus icon to extend the functionality of this block.","1410320737":"Go to Deriv MT5 dashboard","1412535872":"You can check the result of the last trade with this block. It can only be placed within the \"Restart trading conditions\" root block.","1413047745":"Assigns a given value to a variable","1413359359":"Make a new transfer","1414205271":"prime","1415006332":"get sub-list from first","1415974522":"If you select \"Differs\", you will win the payout if the last digit of the last tick is not the same as your prediction.","1417558007":"Max. total loss over 7 days","1417914636":"Login ID","1418115525":"This block repeats instructions as long as a given condition is true.","1421749665":"Simple Moving Average (SMA)","1422060302":"This block replaces a specific item in a list with another given item. It can also insert the new item in the list at a specific position.","1422129582":"All details must be clear — nothing blurry","1423082412":"Last Digit","1423296980":"Enter your SSNIT number","1424741507":"See more","1424779296":"If you've recently used bots but don't see them in this list, it may be because you:","1428657171":"You can only make deposits. Please contact us via <0>live chat for more information.","1430396558":"5. Restart buy/sell on error","1430632931":"To get trading, please confirm who you are, and where you live.","1433367863":"Sorry, an error occured while processing your request.","1434382099":"Displays a dialog window with a message","1434976996":"Announcement","1435363248":"This block converts the number of seconds since the Unix Epoch to a date and time format such as 2019-08-01 00:00:00.","1435380105":"Minimum deposit","1437396005":"Add comment","1438247001":"A professional client receives a lower degree of client protection due to the following.","1438340491":"else","1439168633":"Stop loss:","1441208301":"Total<0 />profit/loss","1442747050":"Loss amount: <0>{{profit}}","1442840749":"Random integer","1443478428":"Selected proposal does not exist","1444843056":"Corporate Affairs Commission","1445592224":"You accidentally gave us another email address (Usually a work or a personal one instead of the one you meant).","1446742608":"Click here if you ever need to repeat this tour.","1449462402":"In review","1452260922":"Too many failed attempts","1452941569":"This block delays execution for a given number of seconds. You can place any blocks within this block. The execution of other blocks in your strategy will be paused until the instructions in this block are carried out.","1453317405":"This block gives you the balance of your account either as a number or a string of text.","1454648764":"deal reference id","1454865058":"Do not enter an address linked to an ICO purchase or crowdsale. If you do, the ICO tokens will not be credited into your account.","1455741083":"Upload the back of your driving licence.","1457341530":"Your proof of identity verification has failed","1457603571":"No notifications","1458160370":"Enter your {{platform}} password to add a {{platform_name}} {{account}} {{jurisdiction_shortcode}} account.","1459761348":"Submit proof of identity","1461323093":"Display messages in the developer’s console.","1464190305":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract without manually stopping and restarting your bot.","1464253511":"You already have an account for each of the cryptocurrencies available on {{deriv}}.","1465084972":"How much experience do you have with other financial instruments?","1465919899":"Pick an end date","1466430429":"Should be between {{min_value}} and {{max_value}}","1466900145":"Doe","1467017903":"This market is not yet available on {{platform_name_trader}}, but it is on {{platform_name_smarttrader}}.","1467421920":"with interval: %1","1467661678":"Cryptocurrency trading","1468308734":"This block repeats instructions as long as a given condition is true","1468419186":"Deriv currently supports withdrawals of Tether USDT to Omni wallet. To ensure a successful transaction, enter a wallet address compatible with the tokens you wish to withdraw. <0>Learn more","1468937050":"Trade on {{platform_name_trader}}","1469082952":"30+ assets: synthetics, basket indices and derived FX","1469150826":"Take Profit","1469764234":"Cashier Error","1469814942":"- Division","1470319695":"Returns either True or False","1471070549":"Can contract be sold?","1471741480":"Severe error","1473369747":"Synthetics only","1475513172":"Size","1476301886":"Similar to SMA, this block gives you the entire SMA line containing a list of all values for a given period.","1478030986":"Create or delete API tokens for trading and withdrawals","1479322099":"Earn a range of payouts by correctly predicting market price movements with <0>Options, or get the upside of CFDs without risking more than your initial stake with <1>Multipliers.","1480915523":"Skip","1481977420":"Please help us verify your withdrawal request.","1484336612":"This block is used to either terminate or continue a loop, and can be placed anywhere within a loop block.","1487086154":"Your documents were submitted successfully","1488548367":"Upload again","1490583127":"DBot isn't quite ready for real accounts","1491392301":"<0>Sold for: {{sold_for}}","1492686447":"Your MT5 Financial STP account will be opened through Deriv (FX) Ltd. All trading in this account is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA). None of your other accounts, including your Deriv account, is subject to the regulations and guidelines of the Labuan Financial Service Authority (LFSA).","1493673429":"Change email","1493866481":"Run Deriv X on your browser","1496810530":"GBP/AUD","1497773819":"Deriv MT5 accounts","1499074768":"Add a real Deriv Multipliers account","1499080621":"Tried to perform an invalid operation.","1501691227":"Add Your Deriv MT5 <0>{{account_type_name}} account under Deriv (V) Ltd, regulated by the Vanuatu Financial Services Commission.","1502039206":"Over {{barrier}}","1502325741":"Your password cannot be the same as your email address.","1503618738":"- Deal reference ID: the reference ID of the contract","1505420815":"No payment agents found for your search","1505898522":"Download stack","1509570124":"{{buy_value}} (Buy)","1509678193":"Education","1510075920":"Gold/USD","1510357015":"Tax residence is required.","1510735345":"This block gives you a list of the last digits of the last 1000 tick values.","1512469749":"In the above example it is assumed that variable candle_open_price is processed somewhere within other blocks.","1516537408":"You can no longer trade on Deriv or deposit funds into your account.","1516559721":"Please select one file only","1516676261":"Deposit","1516834467":"‘Get’ the accounts you want","1517503814":"Drop file or click here to upload","1519124277":"Derived SVG","1519336051":"Try a different phone number","1519891032":"Welcome to Trader's Hub","1520332426":"Net annual income","1524636363":"Authentication failed","1527251898":"Unsuccessful","1527906715":"This block adds the given number to the selected variable.","1529440614":"Use the <0>Deriv password to log in to {{brand_website_name}}, {{platform_name_go}}, {{platform_name_trader}}, {{platform_name_smarttrader}}, and {{platform_name_dbot}}.","1531017969":"Creates a single text string from combining the text value of each attached item, without spaces in between. The number of items can be added accordingly.","1533177906":"Fall","1534569275":"As part of the changes in our markets, we will be closing our UK clients’ accounts.","1534796105":"Gets variable value","1537711064":"You need to make a quick identity verification before you can access the Cashier. Please go to your account settings to submit your proof of identity.","1540585098":"Decline","1541508606":"Looking for CFDs? Go to Trader's Hub","1541969455":"Both","1544642951":"If you select \"Only Ups\", you win the payout if consecutive ticks rise successively after the entry spot. No payout if any tick falls or is equal to any of the previous ticks.","1547148381":"That file is too big (only up to 8MB allowed). Please upload another file.","1548765374":"Verification of document number failed","1549098835":"Total withdrawn","1551172020":"AUD Basket","1552162519":"View onboarding","1552918367":"Send only {{currency}} ({{currency_symbol}}) to this address.","1557426040":"Demo Derived SVG","1557682012":"Account Settings","1558972889":"set {{ variable }} to Simple Moving Average {{ dummy }}","1559220089":"Options and multipliers trading platform.","1560302445":"Copied","1562374116":"Students","1564392937":"When you set your limits or self-exclusion, they will be aggregated across all your account types in {{platform_name_trader}} and {{platform_name_dbot}}. For example, the losses made on both platforms will add up and be counted towards the loss limit you set.","1566037033":"Bought: {{longcode}} (ID: {{transaction_id}})","1567076540":"Only use an address for which you have proof of residence - ","1567586204":"Self-exclusion","1569624004":"Dismiss alert","1570484627":"Ticks list","1571575776":"Accepted formats: pdf, jpeg, jpg, and png. Max file size: 8MB","1572504270":"Rounding operation","1572982976":"Server","1573429525":"Call/Put","1575556189":"Tether on the Ethereum blockchain, as an ERC20 token, is a newer transport layer, which now makes Tether available in Ethereum smart contracts. As a standard ERC20 token, it can also be sent to any Ethereum address.","1577480486":"Your mobile link will expire in one hour","1577527507":"Account opening reason is required.","1577612026":"Select a folder","1579839386":"Appstore","1580498808":"Multiple faces found","1584109614":"Ticks String List","1584936297":"XML file contains unsupported elements. Please check or modify file.","1585859194":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts, and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1587046102":"Documents from that country are not currently supported — try another document type","1589640950":"Resale of this contract is not offered.","1589702653":"Proof of address","1590400723":"Total assets in all your accounts","1591933071":"Resubmit document","1593010588":"Login now","1594147169":"Please come back in","1594322503":"Sell is available","1596378630":"You have added a real Gaming account.<0/>Make a deposit now to start trading.","1597672660":"Deriv MT5 Password","1598009247":"<0>a.You may file a complaint with the Financial Commission up to 45 days after the incident.","1598386296":"Town/City is required.","1598443642":"Transaction hash","1602894348":"Create a password","1604171868":"Please withdraw all your funds as soon as possible.","1604916224":"Absolute","1605222432":"I have no knowledge and experience in trading at all.","1605292429":"Max. total loss","1612105450":"Get substring","1612638396":"Cancel your trade at any time within a specified timeframe.","1613633732":"Interval should be between 10-60 minutes","1615897837":"Signal EMA Period {{ input_number }}","1618809782":"Maximum withdrawal","1619070150":"You are being redirected to an external website.","1620278321":"Names and surnames by themselves are easy to guess","1620346110":"Set currency","1621024661":"Tether as a TRC20 token (tUSDT) is a version of Tether that is hosted on Tron.","1622662457":"Date from","1623706874":"Use this block when you want to use multipliers as your trade type.","1630372516":"Try our Fiat onramp","1630417358":"Please go to your account settings and complete your personal details to enable withdrawals.","1631281562":"GBP Basket","1634903642":"Only your face can be in the selfie","1634969163":"Change currency","1635266650":"It seems that your name in the document is not the same as your Deriv profile. Please update your name in the <0>Personal details page to solve this issue.","1636605481":"Platform settings","1636782601":"Multipliers","1638321777":"Your demo account balance is low. Reset your balance to continue trading from your demo account.","1639262461":"Pending withdrawal request:","1639304182":"Please click on the link in the email to reset your password.","1641395634":"Last digits list","1641635657":"New proof of identity document needed","1641980662":"Salutation is required.","1642645912":"All rates","1644703962":"Looking for CFD accounts? Go to Trader's Hub","1644864436":"You’ll need to authenticate your account before requesting to become a professional client. <0>Authenticate my account","1644908559":"Digit code is required.","1647186767":"The bot encountered an error while running.","1648938920":"Netherlands 25","1651513020":"Display remaining time for each interval","1651951220":"Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"","1652366857":"get and remove","1652968048":"Define your trade options such as multiplier and stake.","1652976865":"In this example, this block is used with another block to get the open prices from a list of candles. The open prices are then assigned to the variable called \"cl\".","1653136377":"copied!","1653180917":"We cannot verify you without using your camera","1654365787":"Unknown","1654496508":"Our system will finish any DBot trades that are running, and DBot will not place any new trades.","1654721858":"Upload anyway","1655627840":"UPPER CASE","1656155124":"Resend in <0 /> seconds","1658954996":"Plant and Machine Operators and Assemblers","1659074761":"Reset Put","1659352235":"Add your Deriv MT5 CFDs account under Deriv Investments (Europe) Limited, regulated by the Malta Financial Services Authority (MFSA) (licence no. IS/70156).","1665272539":"Remember: You cannot log in to your account until the selected date.","1665738338":"Balance","1665756261":"Go to live chat","1668138872":"Modify account settings","1670016002":"Multiplier: {{ multiplier }}","1670426231":"End Time","1671232191":"You have set the following limits:","1674163852":"You can determine the expiry of your contract by setting the duration or end time.","1675030608":"To create this account first we need you to resubmit your proof of address.","1675289747":"Switched to real account","1677027187":"Forex","1677990284":"My apps","1680666439":"Upload your bank statement showing your name, account number, and transaction history.","1682409128":"Untitled Strategy","1682636566":"Resend email in","1683522174":"Top-up","1683963454":"Your contract will be closed automatically at the next available asset price on {{date}} at {{timestamp}}.","1684419981":"What's this?","1686800117":"{{error_msg}}","1687173740":"Get more","1689103988":"Second Since Epoch","1689258195":"We were unable to verify your address with the details you provided. Please check and resubmit or choose a different document type.","1691335819":"To continue trading with us, please confirm who you are.","1691765860":"- Negation","1692912479":"Deriv MT5, Deriv X","1693614409":"Start time","1694331708":"You can switch between CFDs, digital options, and multipliers at any time.","1694517345":"Enter a new email address","1700233813":"Transfer from {{selected_value}} is not allowed, Please choose another account from dropdown","1701447705":"Please update your address","1703091957":"We collect information about your employment as part of our due diligence obligations, as required by anti-money laundering legislation.","1704656659":"How much experience do you have in CFD trading?","1708413635":"For your {{currency_name}} ({{currency}}) account","1709401095":"Trade CFDs on Deriv X with financial markets and our Derived indices.","1709859601":"Exit Spot Time","1710662619":"If you have the app, launch it to start trading.","1711013665":"Anticipated account turnover","1711676335":"square root","1711929663":"Your funds have been transferred","1712357617":"Invalid email address.","1714255392":"To enable withdrawals, please complete your financial assessment.","1715011380":"Jump 25 Index","1715630945":"Returns the total profit in string format","1717023554":"Resubmit documents","1719248689":"EUR/GBP/USD","1720451994":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.","1720968545":"Upload passport photo page from your computer","1722401148":"The amount that you may add to your stake after each successful trade.","1723589564":"Represents the maximum number of outstanding contracts in your portfolio. Each line in your portfolio counts for one open position. Once the maximum is reached, you will not be able to open new positions without closing an existing position first.","1724696797":"You are limited to one fiat account only.","1725958461":"Account number","1726472773":"Function with no return value","1726565314":"Close my account","1728121741":"Transactions.csv","1728183781":"About Tether","1729145421":"Risk warning","1731747596":"The block(s) highlighted in red are missing input values. Please update them and click \"Run bot\".","1732891201":"Sell price","1733711201":"Regulators/external dispute resolution","1734185104":"Balance: %1","1734264460":"Disclaimer","1736292549":"Update postal code","1737352280":"Bot.init is not called","1738681493":"Remove your glasses, if necessary","1739086943":"Wall Street 30","1739384082":"Unemployed","1739668049":"Close your account","1740371444":"Underlying market is not selected","1742256256":"Please upload one of the following documents:","1743448290":"Payment agents","1743902050":"Complete your financial assessment","1745523557":"- Square root","1746051371":"Download the app","1746273643":"Moving Average Convergence Divergence","1747501260":"Sell conditions","1747523625":"Go back","1747674345":"Please use `.` as a decimal separator for fractional numbers.","1747682136":"Contract was cancelled.","1748754976":"Run","1749675724":"Deriv charges no commission across all account types.","1750065391":"Login time:","1753226544":"remove","1753975551":"Upload passport photo page","1756678453":"break out","1758386013":"Do not get lured to fake \"Deriv\" pages!","1761038852":"Let’s continue with providing proofs of address and identity.","1761762171":"Restart last trade on error (bot ignores the unsuccessful trade): {{ checkbox }}","1762707297":"Phone number","1762746301":"MF4581125","1763123662":"Upload your NIMC slip.","1766212789":"Server maintenance starts at 06:00 GMT every Sunday and may last up to 2 hours. You may experience service disruption during this time.","1766993323":"Only letters, numbers, and underscores are allowed.","1767429330":"Add a Derived account","1768861315":"Minute","1768918213":"Only letters, space, hyphen, period, and apostrophe are allowed.","1769068935":"Choose any of these exchanges to buy cryptocurrencies:","1771037549":"Add a Deriv real account","1771592738":"Conditional block","1772532756":"Create and edit","1777847421":"This is a very common password","1778893716":"Click here","1779144409":"Account verification required","1779519903":"Should be a valid number.","1780442963":"Scan the QR code to download {{ platform }}.","1780770384":"This block gives you a random fraction between 0.0 to 1.0.","1781393492":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts and your Deriv fiat and {{platform_name_dxtrade}} accounts.","1782308283":"Quick strategy","1782395995":"Last Digit Prediction","1782690282":"Blocks menu","1782703044":"Sign up","1783740125":"Upload your selfie","1787135187":"Postal/ZIP code is required","1787492950":"Indicators on the chart tab are for indicative purposes only and may vary slightly from the ones on the {{platform_name_dbot}} workspace.","1788966083":"01-07-1999","1789273878":"Payout per point","1789497185":"Make sure your passport details are clear to read, with no blur or glare","1790770969":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies","1791017883":"Check out this <0>user guide.","1791432284":"Search for country","1791971912":"Recent","1793913365":"To deposit money, please switch to your {{currency_symbol}} account.","1794815502":"Download your transaction history.","1796787905":"Please upload the following document(s).","1798943788":"You can only make deposits.","1801093206":"Get candle list","1801927731":"{{platform_name_dxtrade}} accounts","1803338729":"Choose what type of contract you want to trade. For example, for the Rise/Fall trade type you can choose one of three options: Rise, Fall, or Both. Selected option will determine available options for the Purchase block.","1804620701":"Expiration","1804789128":"{{display_value}} Ticks","1806355993":"No commission","1806503050":"Please note that some payment methods might not be available in your country.","1808058682":"Blocks are loaded successfully","1808393236":"Login","1808867555":"This block uses the variable “i” to control the iterations. With each iteration, the value of “i” is determined by the items in a given list.","1810217569":"Please refresh this page to continue.","1811109068":"Jurisdiction","1811972349":"Market","1811973475":"Returns a specific character from a given string","1812582011":"Connecting to server","1813700208":"Boom 300 Index","1813958354":"Remove comment","1815034361":"alphabetic","1815905959":"DTrader, DBot, SmartTrader, and Binary Bot","1815995250":"Buying contract","1816126006":"Trade on Deriv MT5 ({{platform_name_dmt5}}), the all-in-one FX and CFD trading platform.","1817154864":"This block gives you a random number from within a set range.","1820242322":"e.g. United States","1820332333":"Top up","1821818748":"Enter Driver License Reference number","1823177196":"Most popular","1824193700":"This block gives you the last digit of the latest tick value.","1824292864":"Call","1827607208":"File not uploaded.","1828370654":"Onboarding","1830520348":"{{platform_name_dxtrade}} Password","1833481689":"Unlock","1833499833":"Proof of identity documents upload failed","1836767074":"Search payment agent name","1837762008":"Please submit your proof of identity and proof of address to verify your account in your account settings to access the cashier.","1838639373":"Resources","1839021527":"Please enter a valid account number. Example: CR123456789","1840865068":"set {{ variable }} to Simple Moving Average Array {{ dummy }}","1841381387":"Get more wallets","1841788070":"Palladium/USD","1841996888":"Daily loss limit","1842266423":"back","1842862156":"Welcome to your Deriv X dashboard","1843658716":"If you select \"Only Downs\", you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.","1845892898":"(min: {{min_stake}} - max: {{max_payout}})","1846266243":"This feature is not available for demo accounts.","1846587187":"You have not selected your country of residence","1846664364":"{{platform_name_dxtrade}}","1849484058":"Any unsaved changes will be lost.","1850031313":"- Low: the lowest price","1850132581":"Country not found","1850659345":"- Payout: the payout of the contract","1850663784":"Submit proofs","1851052337":"Place of birth is required.","1851776924":"upper","1851951013":"Please switch to your demo account to run your DBot.","1854480511":"Cashier is locked","1854874899":"Back to list","1855566768":"List item position","1856485118":"Please <0>resubmit your proof of address to transfer funds between MT5 and Deriv accounts.","1858251701":"minute","1859308030":"Give feedback","1863053247":"Please upload your identity document.","1863694618":"Trade CFDs on MT5 with forex, stocks, stock indices, commodities, and cryptocurrencies.","1863731653":"To receive your funds, contact the payment agent","1866811212":"Deposit in your local currency via an authorised, independent payment agent in your country.","1866836018":"<0/><1/>If your complaint relates to our data processing practices, you can submit a formal complaint to your local supervisory authority.","1867217564":"Index must be a positive integer","1867783237":"High-to-Close","1869315006":"See how we protect your funds to unlock the cashier.","1869787212":"Even","1870933427":"Crypto","1871196637":"True if the result of the last trade matches the selection","1871664426":"Note","1871804604":"Regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114)","1873838570":"Please verify your address","1874481756":"Use this block to purchase the specific contract you want. You may add multiple Purchase blocks together with conditional blocks to define your purchase conditions. This block can only be used within the Purchase conditions block.","1874756442":"BVI","1876015808":"Social Security and National Insurance Trust","1876325183":"Minutes","1877225775":"Your proof of address is verified","1877272122":"We’ve limited the maximum payout for every contract, and it differs for every asset. Your contract will be closed automatically when the maximum payout is reached.","1877410120":"What you need to do now","1877832150":"# from end","1879042430":"Appropriateness Test, WARNING:","1879412976":"Profit amount: <0>{{profit}}","1879651964":"<0>Pending verification","1880029566":"Australian Dollar","1880097605":"prompt for {{ string_or_number }} with message {{ input_text }}","1880875522":"Create \"get %1\"","1881018702":"hour","1881587673":"Total stake since you last cleared your stats.","1882825238":"Restart trading conditions","1883531976":"Clerks","1885708031":"#","1887852176":"Site is being updated","1889357660":"Enter a value in minutes, up to 60480 minutes (equivalent to 6 weeks).","1890171328":"By clicking Accept below and proceeding with the Account Opening you should note that you may be exposing yourself to risks (which may be significant, including the risk of loss of the entire sum invested) that you may not have the knowledge and experience to properly assess or mitigate.","1890332321":"Returns the number of characters of a given string of text, including numbers, spaces, punctuation marks, and symbols.","1894667135":"Please verify your proof of address","1898670234":"{{formatted_opening_time}} (GMT) on {{opening_day}},<0> {{opening_date}}.","1902547203":"MetaTrader 5 MacOS app","1903437648":"Blurry photo detected","1905032541":"We're now ready to verify your identity","1905589481":"If you want to change your account currency, please contact us via <0>live chat.","1906639368":"If this is the first time you try to create a password, or you have forgotten your password, please reset it.","1907884620":"Add a real Deriv Gaming account","1908023954":"Sorry, an error occurred while processing your request.","1908239019":"Make sure all of the document is in the photo","1908686066":"Appropriateness Test Warning","1909647105":"TRX/USD","1909769048":"median","1913777654":"Switch account","1914014145":"Today","1914270645":"Default Candle Interval: {{ candle_interval_type }}","1914725623":"Upload the page that contains your photo.","1917178459":"Bank Verification Number","1917523456":"This block sends a message to a Telegram channel. You will need to create your own Telegram bot to use this block.","1917804780":"You will lose access to your Options account when it gets closed, so be sure to withdraw all your funds. (If you have a CFDs account, you can also transfer the funds from your Options account to your CFDs account.)","1918633767":"Second line of address is not in a proper format.","1918796823":"Please enter a stop loss amount.","1918832194":"No experience","1919030163":"Tips to take a good selfie","1919594496":"{{website_name}} is not affiliated with any payment agents. Customers deal with payment agents at their sole risk. Customers are advised to check the credentials of payment agents and the accuracy of any information about payment agents (on {{website_name}} or elsewhere) before using their services.","1919694313":"To start trading, transfer funds from your Deriv account into this account.","1920217537":"Compare","1920468180":"How to use the SMA block","1921634159":"A few personal details","1921914669":"Deposit with Deriv P2P","1922529883":"Boom 1000 Index","1922955556":"Use a longer keyboard pattern with more turns","1923431535":"“Stop loss” is deactivated and will only be available when “Deal cancellation” expires.","1924365090":"Maybe later","1924765698":"Place of birth*","1925090823":"Sorry, trading is unavailable in {{clients_country}}.","1928930389":"GBP/NOK","1929309951":"Employment Status","1929379978":"Switch between your demo and real accounts.","1929694162":"Compare accounts","1930899934":"Tether","1931659123":"Run on every tick","1931884033":"It seems that your date of birth in the document is not the same as your Deriv profile. Please update your date of birth in the <0>Personal details page to solve this issue.","1939902659":"Signal","1940408545":"Delete this token","1941915555":"Try later","1942091675":"Cryptocurrency trading is not available for clients residing in the United Kingdom.","1943440862":"Calculates Bollinger Bands (BB) list from a list with a period","1944204227":"This block returns current account balance.","1947527527":"1. This link was sent by you","1948092185":"GBP/CAD","1949719666":"Here are the possible reasons:","1950413928":"Submit identity documents","1952580688":"Submit passport photo page","1955219734":"Town/City*","1957759876":"Upload identity document","1958807602":"4. 'Table' takes an array of data, such as a list of candles, and displays it in a table format.","1959678342":"Highs & Lows","1960240336":"first letter","1964097111":"USD","1964165648":"Connection lost","1965916759":"Asian options settle by comparing the last tick with the average spot over the period.","1966023998":"2FA enabled","1966281100":"Console {{ message_type }} value: {{ input_message }}","1968025770":"Bitcoin Cash","1968077724":"Agriculture","1968368585":"Employment status","1971898712":"Add or manage account","1973536221":"You have no open positions yet.","1973564194":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} or {{platform_name_dxtrade}} account.","1974273865":"This scope will allow third-party apps to view your account activity, settings, limits, balance sheets, trade purchase history, and more.","1981940238":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}} and {{legal_entity_name_v}}.","1982912252":"Relative Strength Index (RSI) from a list with a period","1983001416":"Define your trade options such as multiplier and stake. This block can only be used with the multipliers trade type. If you select another trade type, this block will be replaced with the Trade options block.","1983387308":"Preview","1983544897":"P.O. Box is not accepted in address","1983676099":"Please check your email for details.","1984700244":"Request an input","1984742793":"Uploading documents","1985366224":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts and up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts.","1985637974":"Any blocks placed within this block will be executed at every tick. If the default candle interval is set to 1 minute in the Trade Parameters root block, the instructions in this block will be executed once every minute. Place this block outside of any root block.","1985946750":"{{maximum_ticks}} {{ticks}}","1986498784":"BTC/LTC","1987080350":"Demo","1987447369":"Your cashier is locked","1988153223":"Email address","1988302483":"Take profit:","1988601220":"Duration value","1990331072":"Proof of ownership","1990735316":"Rise Equals","1991448657":"Don't know your tax identification number? Click <0>here to learn more.","1991524207":"Jump 100 Index","1994023526":"The email address you entered had a mistake or typo (happens to the best of us).","1994558521":"The platforms aren’t user-friendly.","1994600896":"This block requires a list of candles as an input parameter.","1995023783":"First line of address*","1996767628":"Please confirm your tax information.","1997138507":"If the last tick is equal to the average of the ticks, you don't win the payout.","1998199587":"You can also exclude yourself entirely for a specified duration. If, at any time, you decide to trade again, you must then contact our Customer Support to remove this self-exclusion. There will be a 24-hour-cooling-off period before you can resume trading. ","2001222130":"Check your spam or junk folder. If it's not there, try resending the email.","2004395123":"New trading tools for MT5","2004792696":"If you are a UK resident, to self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","2007028410":"market, trade type, contract type","2007092908":"Trade with leverage and low spreads for better returns on successful trades.","2008809853":"Please proceed to withdraw your funds before 30 November 2021.","2009620100":"DBot will not proceed with any new trades. Any ongoing trades will be completed by our system. Any unsaved changes will be lost.<0>Note: Please check your statement to view completed transactions.","2009770416":"Address:","2010759971":"Uploads successful","2010866561":"Returns the total profit/loss","2011609940":"Please input number greater than 0","2011808755":"Purchase Time","2014536501":"Card number","2014590669":"Variable '{{variable_name}}' has no value. Please set a value for variable '{{variable_name}}' to notify.","2017672013":"Please select the country of document issuance.","2020545256":"Close your account?","2021037737":"Please update your details to continue.","2023659183":"Student","2023762268":"I prefer another trading website.","2025339348":"Move away from direct light — no glare","2027428622":"150+ assets: forex, stocks, stock indices, synthetics, commodities and cryptocurrencies","2027625329":"Simple Moving Average Array (SMAA)","2027696535":"Tax information","2028163119":"EOS/USD","2029237955":"Labuan","2030018735":"RSI is a technical analysis tool that helps you identify the market trend. It will give you a value from 0 to 100. An RSI value of 70 and above means that the asset is overbought and the current trend may reverse, while a value of 30 and below means that the asset is oversold.","2030045667":"Message","2033648953":"This block gives you the specified candle value for a selected time interval.","2034803607":"You must be 18 years old and above.","2034931276":"Close this window","2035258293":"Start trading with us","2035925727":"sort {{ sort_type }} {{ sort_direction }} {{ input_list }}","2036578466":"Should be {{value}}","2037481040":"Choose a way to fund your account","2037607934":"The purchase of <0>{{trade_type_name}} contract has been completed successfully for the amount of <0> {{buy_price}} {{currency}}","2037665157":"Expand All Blocks","2037906477":"get sub-list from #","2042023623":"We’re reviewing your documents. This should take about 5 minutes.","2042050260":"- Purchase price: the purchase price (stake) of the contract","2042115724":"Upload a screenshot of your account and personal details page with your name, account number, phone number, and email address.","2042778835":"This complaints policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}.","2044086432":"The close is the latest tick at or before the end time. If you selected a specific end time, the end time is the selected time.","2046273837":"Last tick","2048110615":"Email address*","2048134463":"File size exceeded.","2050080992":"Tron","2050170533":"Tick list","2051558666":"View transaction history","2053617863":"Please proceed to withdraw all your funds from your account.","2054889300":"Create \"%1\"","2055317803":"Copy the link to your mobile browser","2057082550":"Accept our updated <0>terms and conditions","2057419639":"Exit Spot","2059753381":"Why did my verification fail?","2060873863":"Your order {{order_id}} is complete","2062299501":"<0>For {{title}}: Your payout will grow by this amount for every point {{trade_type}} your strike price. You will start making a profit when the payout is higher than your stake.","2062912059":"function {{ function_name }} {{ function_params }}","2063655921":"By purchasing the \"Close-to-Low\" contract, you'll win the multiplier times the difference between the close and low over the duration of the contract.","2063812316":"Text Statement","2063890788":"Cancelled","2065278286":"Spread","2067903936":"Driving licence","2070002739":"Don’t accept","2070345146":"When opening a leveraged CFD trade.","2070752475":"Regulatory Information","2071043849":"Browse","2073813664":"CFDs, Options or Multipliers","2074235904":"Last name is required.","2074497711":"The Telegram notification could not be sent","2080553498":"3. Get the chat ID using the Telegram REST API (read more: https://core.telegram.org/bots/api#getupdates)","2080829530":"Sold for: {{sold_for}}","2082533832":"Yes, delete","2084693624":"Converts a string representing a date/time string into seconds since Epoch. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825. Time and time zone offset are optional.","2084925123":"Use our fiat onramp services to buy and deposit cryptocurrency into your Deriv account.","2085387371":"Must be numbers, letters, and special characters . , ' -","2085602195":"- Entry value: the value of the first tick of the contract","2086742952":"You have added a real Options account.<0/>Make a deposit now to start trading.","2086792088":"Both barriers should be relative or absolute","2088735355":"Your session and login limits","2089581483":"Expires on","2091671594":"Status","2093675079":"- Close: the closing price","2096014107":"Apply","2096456845":"Date of birth*","2097170986":"About Tether (Omni)","2097381850":"Calculates Simple Moving Average line from a list with a period","2097932389":"Upload 2 separate screenshots from the personal details page and the account page via <0>https://app.astropay.com/profile","2100713124":"account","2101972779":"This is the same as the above example, using a tick list.","2102572780":"Length of digit code must be 6 characters.","2104115663":"Last login","2104397115":"Please go to your account settings and complete your personal details to enable deposits and withdrawals.","2107381257":"Scheduled cashier system maintenance","2109312805":"The spread is the difference between the buy price and sell price. A variable spread means that the spread is constantly changing, depending on market conditions. A fixed spread remains constant but is subject to alteration, at the Broker's absolute discretion.","2110365168":"Maximum number of trades reached","2111015970":"This block helps you check if your contract can be sold. If your contract can be sold, it returns “True”. Otherwise, it returns an empty string.","2111528352":"Creating a variable","2112119013":"Take a selfie showing your face","2112175277":"with delimiter","2113321581":"Add a Deriv Gaming account","2115223095":"Loss","2117073379":"Our cryptocurrency cashier is temporarily down due to system maintenance. You can access the Cashier in a few minutes when the maintenance is complete.","2117165122":"1. Create a Telegram bot and get your Telegram API token. Read more on how to create bots in Telegram here: https://core.telegram.org/bots#6-botfather","2117489390":"Auto update in {{ remaining }} seconds","2118315870":"Where do you live?","2119449126":"Example output of the below example will be:","2120617758":"Set up your trade","2121227568":"NEO/USD","2122152120":"Assets","2125993553":"Click ‘Trade’ to start trading with your account","2127564856":"Withdrawals are locked","2131963005":"Please withdraw your funds from the following Deriv MT5 account(s):","2133451414":"Duration","2133470627":"This block returns the potential payout for the selected trade type. This block can be used only in the \"Purchase conditions\" root block.","2135563258":"Forex trading frequency","2136246996":"Selfie uploaded","2137901996":"This will clear all data in the summary, transactions, and journal panels. All counters will be reset to zero.","2137993569":"This block compares two values and is used to build a conditional structure.","2138861911":"Scans and photocopies are not accepted","2139171480":"Reset Up/Reset Down","2139362660":"left side","2141055709":"New {{type}} password","2141873796":"Get more info on <0>CFDs, <1>multipliers, and <2>options.","2143803283":"Purchase Error","2144609616":"If you select \"Reset-Down”, you win the payout if the exit spot is strictly lower than either the entry spot or the spot at reset time.","2145690912":"Income Earning","2145995536":"Create new account","2146336100":"in text %1 get %2","2146892766":"Binary options trading experience","-1515286538":"Please enter your document number. ","-477761028":"Voter ID","-1466346630":"CPF","-612174191":"First line of address is required","-242734402":"Only {{max}} characters, please.","-378415317":"State is required","-1784470716":"State is not in a proper format","-1699820408":"Please enter a {{field_name}} under {{max_number}} characters.","-1575567374":"postal/ZIP code","-1497654315":"Our accounts and services are unavailable for the Jersey postal code.","-755626951":"Complete your address details","-1024240099":"Address","-584911871":"Select wallet currency","-1461267236":"Please choose your currency","-1352330125":"CURRENCY","-1027595143":"Less than $25,000","-40491332":"$25,000 - $50,000","-1139806939":"$50,001 - $100,000","-626752657":"0-1 year","-532014689":"1-2 years","-1001024004":"Over 3 years","-790513277":"6-10 transactions in the past 12 months","-580085300":"11-39 transactions in the past 12 months","-654781670":"Primary","-1717373258":"Secondary","-996132458":"Construction","-915003867":"Health","-1430012453":"Information & Communications Technology","-987824916":"Science & Engineering","-146630682":"Social & Cultural","-761306973":"Manufacturing","-739367071":"Employed","-1156937070":"$500,001 - $1,000,000","-315534569":"Over $1,000,000","-2068544539":"Salaried Employee","-531314998":"Investments & Dividends","-1235114522":"Pension","-1298056749":"State Benefits","-449943381":"Savings & Inheritance","-1631552645":"Professionals","-474864470":"Personal Care, Sales and Service Workers","-1129355784":"Agricultural, Forestry and Fishery Workers","-1242914994":"Craft, Metal, Electrical and Electronics Workers","-1317824715":"Cleaners and Helpers","-1592729751":"Mining, Construction, Manufacturing and Transport Workers","-2137323480":"Company Ownership","-1590574533":"Divorce Settlement","-1667683002":"Inheritance","-1237843731":"Investment Income","-777506574":"Sale of Property","-1232613003":"<0>Verification failed. <1>Why?","-2029508615":"<0>Need verification.<1>Verify now","-1161338910":"First name is required.","-1161818065":"Last name should be between 2 and 50 characters.","-1281693513":"Date of birth is required.","-26599672":"Citizenship is required","-912174487":"Phone is required.","-673765468":"Letters, numbers, spaces, periods, hyphens and forward slashes only.","-1356204661":"This Tax Identification Number (TIN) is invalid. You may continue with account creation, but to facilitate future payment processes, valid tax information will be required.","-1823540512":"Personal details","-1227878799":"Speculative","-1174064217":"Mr","-855506127":"Ms","-621555159":"Identity information","-204765990":"Terms of use","-231863107":"No","-870902742":"How much knowledge and experience do you have in relation to online trading?","-1929477717":"I have an academic degree, professional certification, and/or work experience related to financial services.","-1540148863":"I have attended seminars, training, and/or workshops related to trading.","-922751756":"Less than a year","-542986255":"None","-1337206552":"In your understanding, CFD trading allows you to","-456863190":"Place a position on the price movement of an asset where the outcome is a fixed return or nothing at all.","-1314683258":"Make a long-term investment for a guaranteed profit.","-1546090184":"How does leverage affect CFD trading?","-1636427115":"Leverage helps to mitigate risk.","-800221491":"Leverage guarantees profits.","-811839563":"Leverage lets you open large positions for a fraction of trade value, which may result in increased profit or loss.","-1185193552":"Close your trade automatically when the loss is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1046354":"Close your trade automatically when the profit is equal to or more than a specified amount, as long as there is adequate market liquidity.","-1842858448":"Make a guaranteed profit on your trade.","-860053164":"When trading multipliers.","-1250327770":"When buying shares of a company.","-1222388581":"All of the above.","-931052769":"Submit verification","-1004605898":"Tips","-1938142055":"Documents uploaded","-448090287":"The link only works on mobile devices","-1244287721":"Something's gone wrong","-241258681":"You'll need to restart your verification on your computer","-929254273":"Get secure link","-2021867851":"Check back here to finish the submission","-1547069149":"Open the link and complete the tasks","-1767652006":"Here's how to do it:","-277611959":"You can now return to your computer to continue","-724178625":"Make sure full document is visible","-1519380038":"Glare detected","-1895280620":"Make sure your card details are clear to read, with no blur or glare","-1464447919":"Make sure your permit details are clear to read, with no blur or glare","-1436160506":"Make sure details are clear to read, with no blur or glare","-759124288":"Close","-759118956":"Redo","-753375398":"Enlarge image","-1042933881":"Driver's license","-1503134764":"Face photo page","-1335343167":"Sorry, no mobile phone bills","-699045522":"Documents you can use to verify your identity","-543666102":"It must be an official photo ID","-903877217":"These are the documents most likely to show your current home address","-1356835948":"Choose document","-1364375936":"Select a %{country} document","-401586196":"or upload photo – no scans or photocopies","-3110517":"Take a photo with your phone","-2033894027":"Submit identity card (back)","-20684738":"Submit license (back)","-1359585500":"Submit license (front)","-106779602":"Submit residence permit (back)","-1287247476":"Submit residence permit (front)","-1954762444":"Restart the process on the latest version of Safari","-261174676":"Must be under 10MB.","-685885589":"An error occurred while loading the component","-502539866":"Your face is needed in the selfie","-1377968356":"Please try again","-1226547734":"Try using a JPG or PNG file","-849068301":"Loading...","-1730346712":"Loading","-1849371752":"Check that your number is correct","-309848900":"Copy","-1424436001":"Send link","-1093833557":"How to scan a QR code","-1408210605":"Point your phone’s camera at the QR code","-1773802163":"If it doesn’t work, download a QR code scanner from Google Play or the App Store","-109026565":"Scan QR code","-1644436882":"Get link via SMS","-1667839246":"Enter mobile number","-1533172567":"Enter your mobile number:","-1352094380":"Send this one-time link to your phone","-28974899":"Get your secure link","-359315319":"Continue","-1279080293":"2. Your desktop window stays open","-102776692":"Continue with the verification","-89152891":"Take a photo of the back of your card","-1646367396":"Take a photo of the front of your card","-1350855047":"Take a photo of the front of your license","-2119367889":"Take a photo using the basic camera mode instead","-342915396":"Take a photo","-419040068":"Passport photo page","-1354983065":"Refresh","-1925063334":"Recover camera access to continue face verification","-54784207":"Camera access is denied","-1392699864":"Allow camera access","-269477401":"Provide the whole document page for best results","-864639753":"Upload back of card from your computer","-1309771027":"Upload front of license from your computer","-1722060225":"Take photo","-565732905":"Selfie","-1703181240":"Check that it is connected and functional. You can also continue verification on your phone","-2043114239":"Camera not working?","-2029238500":"It may be disconnected. Try using your phone instead.","-468928206":"Make sure your device's camera works","-466246199":"Camera not working","-698978129":"Remember to press stop when you're done. Redo video actions","-538456609":"Looks like you took too long","-781816433":"Photo of your face","-1471336265":"Make sure your selfie clearly shows your face","-1375068556":"Check selfie","-1914530170":"Face forward and make sure your eyes are clearly visible","-776541617":"We'll compare it with your document","-478752991":"Your link will expire in one hour","-1859729380":"Keep this window open while using your mobile","-1283761937":"Resend link","-629011256":"Don't refresh this page","-1005231905":"Once you've finished we'll take you to the next step","-542134805":"Upload photo","-1462975230":"Document example","-1472844935":"The photo should clearly show your document","-189310067":"Account closed","-849320995":"Assessments","-773766766":"Email and passwords","-1466827732":"Self exclusion","-1498206510":"Account limits","-241588481":"Login history","-966136867":"Connected apps","-213009361":"Two-factor authentication","-1214803297":"Dashboard-only path","-526636259":"Error 404","-1694758788":"Enter your document number","-1030759620":"Government Officers","-1196936955":"Upload a screenshot of your name and email address from the personal information section.","-1286823855":"Upload your mobile bill statement showing your name and phone number.","-1309548471":"Upload your bank statement showing your name and account details.","-1410396115":"Upload a photo showing your name and the first six and last four digits of your card number. If the card does not display your name, upload the bank statement showing your name and card number in the transaction history.","-3805155":"Upload a screenshot of either of the following to process the transaction:","-1523487566":"- your account profile section on the website","-613062596":"- the Account Information page on the app","-1718304498":"User ID","-609424336":"Upload a screenshot of your name, account number, and email address from the personal details section of the app or profile section of your account on the website.","-1954436643":"Upload a screenshot of your username on the General Information page at <0>https://onlinenaira.com/members/index.htm","-79853954":"Upload a screenshot of your account number and phone number on the Bank Account/Mobile wallet page at <0>https://onlinenaira.com/members/bank.htm","-1192882870":"Upload a screenshot of your name and account number from the personal details section.","-612752984":"These are default limits that we apply to your accounts.","-1598263601":"To learn more about trading limits and how they apply, please go to the <0>Help Centre.","-1340125291":"Done","-1101543580":"Limit","-858297154":"Represents the maximum amount of cash that you may hold in your account. If the maximum is reached, you will be asked to withdraw funds.","-976258774":"Not set","-1182362640":"Represents the maximum aggregate payouts on outstanding contracts in your portfolio. If the maximum is attained, you may not purchase additional contracts without first closing out existing positions.","-1781293089":"Maximum aggregate payouts on open positions","-1412690135":"*Any limits in your Self-exclusion settings will override these default limits.","-1598751496":"Represents the maximum volume of contracts that you may purchase in any given trading day.","-173346300":"Maximum daily turnover","-1502578110":"Your account is fully authenticated and your withdrawal limits have been lifted.","-138380129":"Total withdrawal allowed","-854023608":"To increase limit please verify your identity","-1500958859":"Verify","-1662154767":"a recent utility bill (e.g. electricity, water, gas, landline, or internet), bank statement, or government-issued letter with your name and this address.","-190838815":"We need this for verification. If the information you provide is fake or inaccurate, you won’t be able to deposit and withdraw.","-223216785":"Second line of address*","-594456225":"Second line of address","-1315410953":"State/Province","-1940457555":"Postal/ZIP Code*","-1964954030":"Postal/ZIP Code","-1541554430":"Next","-71696502":"Previous","-1437206131":"JPEG JPG PNG PDF GIF","-820458471":"1 - 6 months old","-155705811":"A clear colour photo or scanned image","-587941902":"Issued under your name with your current address","-438669274":"JPEG JPG PNG PDF GIF","-723198394":"File size should be 8MB or less","-1948369500":"File uploaded is not supported","-1040865880":"Drop files here..","-1416797980":"Please enter your {{ field_name }} as in your official identity documents.","-1466268810":"Please remember that it is your responsibility to keep your answers accurate and up to date. You can update your personal details at any time in your <0>account settings.","-32386760":"Name","-1120954663":"First name*","-1659980292":"First name","-766265812":"first name","-1857534296":"John","-1282749116":"last name","-1485480657":"Other details","-1784741577":"date of birth","-1315571766":"Place of birth","-2040322967":"Citizenship","-789291456":"Tax residence*","-1692219415":"Tax residence","-1903720068":"The country in which you meet the criteria for paying taxes. Usually the country in which you physically reside.","-651516152":"Tax Identification Number","-344715612":"Employment status*","-1543016582":"I hereby confirm that the tax information I provided is true and complete. I will also inform {{legal_entity_name}} about any changes to this information.","-1387062433":"Account opening reason","-222283483":"Account opening reason*","-1088324715":"We’ll review your documents and notify you of its status within 1 - 3 working days.","-329713179":"Ok","-1176889260":"Please select a document type.","-1785463422":"Verify your identity","-78467788":"Please select the document type and enter the ID number.","-1117345066":"Choose the document type","-651192353":"Sample:","-1263033978":"Please ensure all your personal details are the same as in your chosen document. If you wish to update your personal details, go to account settings.","-937707753":"Go Back","-2004327866":"Please select a valid country of document issuance.","-1664159494":"Country","-228284848":"We were unable to verify your ID with the details you provided.","-1874113454":"Please check and resubmit or choose a different document type.","-1084991359":"Proof of identity verification not required","-1981334109":"Your account does not need identity verification at this time. We will inform you if identity verification is required in the future.","-182918740":"Your proof of identity submission failed because:","-246893488":"JPEG, JPG, PNG, PDF, or GIF","-1454880310":"Must be valid for at least 6 months","-100534371":"Before uploading, please ensure that you’re facing forward in the selfie, your face is within the frame, and your eyes are clearly visible even if you’re wearing glasses.","-1529523673":"Confirm and upload","-705047643":"Sorry, an error occured. Please select another file.","-1664309884":"Tap here to upload","-1725454783":"Failed","-839094775":"Back","-856213726":"You must also submit a proof of address.","-987011273":"Your proof of ownership isn't required.","-808299796":"You are not required to submit proof of ownership at this time. We will inform you if proof of ownership is required in the future.","-179726573":"We’ve received your proof of ownership.","-813779897":"Proof of ownership verification passed.","-1389323399":"You should enter {{min_number}}-{{max_number}} characters.","-1313806160":"Please request a new password and check your email for the new token.","-1598167506":"Success","-1077809489":"You have a new {{platform}} password to log in to your {{platform}} accounts on the web and mobile apps.","-2068479232":"{{platform}} password","-1332137219":"Strong passwords contain at least 8 characters that include uppercase and lowercase letters, numbers, and symbols.","-2005211699":"Create","-1597186502":"Reset {{platform}} password","-638756912":"Black out digits 7 to 12 of the card number that’s shown on the front of your debit/credit card.⁤","-848721396":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. If you live in the United Kingdom, Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request. If you live in the Isle of Man, Customer Support can only remove or weaken your trading limits after your trading limit period has expired.","-469096390":"These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request.","-42808954":"You can also exclude yourself entirely for a specified duration. This can only be removed once your self-exclusion has expired. If you wish to continue trading once your self-exclusion period expires, you must contact Customer Support by calling <0>+447723580049 to lift this self-exclusion. Requests by chat or email shall not be entertained. There will be a 24-hour cooling-off period before you can resume trading.","-1088698009":"These self-exclusion limits help you control the amount of money and time you spend trading on {{platform_name_trader}}, {{platform_name_dbot}}, {{platform_name_smarttrader}} and {{platform_name_bbot}} on Deriv. The limits you set here will help you exercise <0>responsible trading.","-1702324712":"These limits are optional, and you can adjust them at any time. You decide how much and how long you’d like to trade. If you don’t wish to set a specific limit, leave the field blank.","-1819875658":"You can also exclude yourself entirely for a specified duration. Once the self-exclusion period has ended, you can either extend it further or resume trading immediately. If you wish to reduce or remove the self-exclusion period, contact our <0>Customer Support.","-1031814119":"About trading limits and self-exclusion","-183468698":"Trading limits and self-exclusion","-933963283":"No, review my limits","-1759860126":"Yes, log me out immediately","-572347855":"{{value}} mins","-313333548":"You’ll be able to adjust these limits at any time. You can reduce your limits from the <0>self-exclusion page. To increase or remove your limits, please contact our <1>Customer Support team.","-1265833982":"Accept","-2123139671":"Your stake and loss limits","-1250802290":"24 hours","-2070080356":"Max. total stake","-1545823544":"7 days","-180147209":"You will be automatically logged out from each session after this time limit.","-374553538":"Your account will be excluded from the website until this date (at least 6 months, up to 5 years).","-2121421686":"To self-exclude from all online gambling companies licensed in Great Britain, go to <0>www.gamstop.co.uk.","-2105708790":"Your maximum account balance and open positions","-1960600163":"Once your account balance reaches this amount, you will not be able to deposit funds into your account.","-1073845224":"No. of open position(s)","-288196326":"Your maximum deposit limit","-568749373":"Max. deposit limit","-1884902844":"Max. deposit limit per day","-545085253":"Max. deposit limit over 7 days","-1031006762":"Max. deposit limit over 30 days","-1116871438":"Max. total loss over 30 days","-2134714205":"Time limit per session","-1884271702":"Time out until","-1265825026":"Timeout time must be greater than current time.","-1332882202":"Timeout time cannot be more than 6 weeks.","-1635977118":"Exclude time cannot be less than 6 months.","-2073934245":"The financial trading services offered on this site are only suitable for customers who accept the possibility of losing all the money they invest and who understand and have experience of the risk involved in the purchase of financial contracts. Transactions in financial contracts carry a high degree of risk. If the contracts you purchased expire as worthless, you will lose all your investment, which includes the contract premium.","-1166068675":"Your account will be opened with {{legal_entity_name}}, regulated by the UK Gaming Commission (UKGC), and will be subject to the laws of the Isle of Man.","-975118358":"Your account will be opened with {{legal_entity_name}}, regulated by the Malta Financial Services Authority (MFSA), and will be subject to the laws of Malta.","-680528873":"Your account will be opened with {{legal_entity_name}} and will be subject to the laws of Samoa.","-1125193491":"Add account","-2068229627":"I am not a PEP, and I have not been a PEP in the last 12 months.","-684271315":"OK","-740157281":"Trading Experience Assessment","-1720468017":"In providing our services to you, we are required to obtain information from you in order to assess whether a given product or service is appropriate for you.","-186841084":"Change your login email","-907403572":"To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.","-1850792730":"Unlink from {{identifier_title}}","-2139303636":"You may have followed a broken link, or the page has moved to a new address.","-1448368765":"Error code: {{error_code}} page not found","-2145244263":"This field is required","-254792921":"You can only make deposits at the moment. To enable withdrawals, please complete your financial assessment.","-1437017790":"Financial information","-70342544":"We’re legally obliged to ask for your financial information.","-1100235269":"Industry of employment","-684388823":"Estimated net worth","-39038029":"Trading experience","-601903492":"Forex trading experience","-1012699451":"CFD trading experience","-1894668798":"Other trading instruments experience","-1026468600":"Other trading instruments frequency","-179005984":"Save","-307865807":"Risk Tolerance Warning","-690100729":"Yes, I understand the risk.","-2010628430":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, you must confirm that you understand your capital is at risk.","-863770104":"Please note that by clicking ‘OK’, you may be exposing yourself to risks. You may not have the knowledge or experience to properly assess or mitigate these risks, which may be significant, including the risk of losing the entire sum you have invested.","-1292808093":"Trading Experience","-1458676679":"You should enter 2-50 characters.","-884768257":"You should enter 0-35 characters.","-2113555886":"Only letters, numbers, space, and hyphen are allowed.","-874280157":"This Tax Identification Number (TIN) is invalid. You may continue using it, but to facilitate future payment processes, valid tax information will be required.","-1037916704":"Miss","-1113902570":"Details","-634958629":"We use the information you give us only for verification purposes. All information is kept confidential.","-731992635":"Title*","-352888977":"Title","-136976514":"Country of residence*","-945104751":"We’re legally obliged to ask for your tax information.","-1702919018":"Second line of address (optional)","-1124948631":"Professional Client","-259515058":"By default, all {{brand_website_name}} clients are retail clients but anyone can request to be treated as a professional client.","-1463348492":"I would like to be treated as a professional client.","-1958764604":"Email preference","-2121071263":"Check this box to receive updates via email.","-2068064150":"Get updates about Deriv products, services and events.","-1558679249":"Please make sure your information is correct or it may affect your trading experience.","-1822545742":"Ether Classic","-1334641066":"Litecoin","-1214036543":"US Dollar","-1782590355":"No currency has been set for this account","-2116332353":"Please close your positions in the following Deriv account(s):","-2048005267":"{{number_of_positions}} position(s)","-1923892687":"Please withdraw your funds from the following Deriv X account(s):","-1629894615":"I have other financial priorities.","-844051272":"I want to stop myself from trading.","-1113965495":"I’m no longer interested in trading.","-1224285232":"Customer service was unsatisfactory.","-9323953":"Remaining characters: {{remaining_characters}}","-2061895474":"Closing your account will automatically log you out. We shall delete your personal information as soon as our legal obligations are met.","-203298452":"Close account","-1219849101":"Please select at least one reason","-484540402":"An error occurred","-1911549768":"Inaccessible MT5 account(s)","-1869355019":"Action required","-1030102424":"You can't trade on Deriv.","-448385353":"You can't make transactions.","-1058447223":"Before closing your account:","-912764166":"Withdraw your funds.","-60139953":"We shall delete your personal information as soon as our legal obligations are met, as mentioned in the section on Data Retention in our <0>Security and privacy policy","-536187647":"Confirm revoke access?","-1357606534":"Permission","-570222048":"Revoke access","-1076138910":"Trade","-488597603":"Trading information","-1666909852":"Payments","-506510414":"Date and time","-1708927037":"IP address","-80717068":"Apps you have linked to your <0>Deriv password:","-2143208677":"Click the <0>Change password button to change your Deriv MT5 password.","-9570380":"Use the {{platform_name_dxtrade}} password to log in to your {{platform_name_dxtrade}} accounts on the web and mobile apps.","-2131200819":"Disable","-200487676":"Enable","-1840392236":"That's not the right code. Please try again.","-2067796458":"Authentication code","-790444493":"Protect your account with 2FA. Each time you log in to your account, you will need to enter your password and an authentication code generated by a 2FA app on your smartphone.","-368010540":"You have enabled 2FA for your Deriv account.","-403552929":"To disable 2FA, please enter the six-digit authentication code generated by your 2FA app below:","-752939584":"How to set up 2FA for your Deriv account","-90649785":"Click here to copy key","-206376148":"Key copied!","-650175948":"A recent bank statement or government-issued letter with your name and address.","-2006895756":"1. Address","-716361389":"An accurate and complete address helps to speed up your verification process.","-890084320":"Save and submit","-1672243574":"Before uploading your document, please ensure that your <0>personal details are updated to match your proof of identity. This will help to avoid delays during the verification process.","-1592318047":"See example","-1376950117":"That file format isn't supported. Please upload .pdf, .png, .jpg, or .jpeg files only.","-1272489896":"Please complete this field.","-397487797":"Enter your full card number","-153346659":"Upload your selfie.","-602131304":"Passport number","-1051213440":"Upload the front and back of your identity card.","-1600807543":"First, enter your identity card number and the expiry date.","-1139923664":"Next, upload the front and back of your identity card.","-783705755":"Upload the front of your identity card.","-566750665":"NIMC slip and proof of age","-1465944279":"NIMC slip number","-429612996":"Next, upload both of the following documents.","-376981174":"Upload your proof of age: birth certificate or age declaration document.","-1411635770":"Learn more about account limits","-516397235":"Be careful who you share this token with. Anyone with this token can perform the following actions on your account behalf","-989216986":"Add accounts","-617480265":"Delete token","-316749685":"Are you sure you want to delete this token?","-786372363":"Learn more about API token","-55560916":"To access our mobile apps and other third-party apps, you'll first need to generate an API token.","-198329198":"API Token","-955038366":"Copy this token","-1668692965":"Hide this token","-1661284324":"Show this token","-605778668":"Never","-1628008897":"Token","-1238499897":"Last Used","-1171226355":"Length of token name must be between {{MIN_TOKEN}} and {{MAX_TOKEN}} characters.","-1803339710":"Maximum {{MAX_TOKEN}} characters.","-408613988":"Select scopes based on the access you need.","-5605257":"This scope will allow third-party apps to withdraw to payment agents and make inter-account transfers for you.","-1373485333":"This scope will allow third-party apps to view your trading history.","-758221415":"This scope will allow third-party apps to open accounts for you, manage your settings and token usage, and more. ","-1117963487":"Name your token and click on 'Create' to generate your token.","-2115275974":"CFDs","-1879666853":"Deriv MT5","-460645791":"You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} account.","-1146960797":"Fiat currencies","-1959484303":"Cryptocurrencies","-561724665":"You are limited to one fiat currency only","-2087317410":"Oops, something went wrong.","-509054266":"Anticipated annual turnover","-1044962593":"Upload Document","-164448351":"Show less","-1361653502":"Show more","-337620257":"Switch to real account","-2120454054":"Add a real account","-38915613":"Unsaved changes","-2137450250":"You have unsaved changes. Are you sure you want to discard changes and leave this page?","-1067082004":"Leave Settings","-1982432743":"It appears that the address in your document doesn’t match the address\n in your Deriv profile. Please update your personal details now with the\n correct address.","-1451334536":"Continue trading","-1525879032":"Your documents for proof of address is expired. Please submit again.","-1425489838":"Proof of address verification not required","-1008641170":"Your account does not need address verification at this time. We will inform you if address verification is required in the future.","-60204971":"We could not verify your proof of address","-1944264183":"To continue trading, you must also submit a proof of identity.","-1926456107":"The ID you submitted is expired.","-555047589":"It looks like your identity document has expired. Please try again with a valid document.","-841187054":"Try Again","-2097808873":"We were unable to verify your ID with the details you provided. ","-1391934478":"Your ID is verified. You will also need to submit proof of your address.","-118547687":"ID verification passed","-200989771":"Go to personal details","-1358357943":"Please check and update your postal code before submitting proof of identity.","-1401994581":"Your personal details are missing","-749870311":"Please contact us via <0>live chat.","-1617352279":"The email is in your spam folder (Sometimes things get lost there).","-547557964":"We can’t deliver the email to this address (Usually because of firewalls or filtering).","-142444667":"Please click on the link in the email to change your Deriv MT5 password.","-742748008":"Check your email and click the link in the email to proceed.","-84068414":"Still didn't get the email? Please contact us via <0>live chat.","-428335668":"You will need to set a password to complete the process.","-1743024217":"Select Language","-1107320163":"Automate your trading, no coding needed.","-829643221":"Multipliers trading platform.","-1585707873":"Financial Commission","-199154602":"Vanuatu Financial Services Commission","-191165775":"Malta Financial Services Authority","-194969520":"Counterparty company","-1089385344":"Deriv (SVG) LLC","-2019617323":"Deriv (BVI) Ltd","-112814932":"Deriv (FX) Ltd","-1131400885":"Deriv Investments (Europe) Limited","-1471207907":"All assets","-781132577":"Leverage","-1591882610":"Synthetics","-543177967":"Stock indices","-362324454":"Commodities","-1071336803":"Platform","-820028470":"Options & Multipliers","-1018945969":"TradersHub","-1856204727":"Reset","-213142918":"Deposits and withdrawals temporarily unavailable ","-224804428":"Transactions","-1186807402":"Transfer","-1210359945":"Transfer funds to your accounts","-81256466":"You need a Deriv account to create a CFD account.","-699372497":"Trade with leverage and tight spreads for better returns on successful trades. <0>Learn more","-1884966862":"Get more Deriv MT5 account with different type and jurisdiction.","-596618970":"Other CFDs","-982095728":"Get","-1277942366":"Total assets","-1255879419":"Trader's Hub","-493788773":"Non-EU","-673837884":"EU","-1308346982":"Derived","-1145604233":"Trade CFDs on MT5 with Derived indices that simulate real-world market movements.","-328128497":"Financial","-1484404784":"Trade CFDs on MT5 with forex, stock indices, commodities, and cryptocurrencies.","-230566990":"The following documents you submitted did not pass our checks:","-846812148":"Proof of address.","-2055865877":"Non-EU regulation","-643108528":"Non-EU and EU regulation","-172898036":"CR5236585","-1665192032":"Multipliers account","-744999940":"Deriv account","-1638358352":"Get the upside of CFDs without risking more than your initial stake with <0>Multipliers.","-749129977":"Get a real Deriv account, start trading and manage your funds.","-1814994113":"CFDs <0>{{compare_accounts_title}}","-318106501":"Trade CFDs on MT5 with synthetics, baskets, and derived FX.","-1328701106":"Trade CFDs on MT5 with forex, stocks, stock indices, synthetics, cryptocurrencies, and commodities.","-339648370":"Earn a range of payouts by correctly predicting market price movements with <0>Options, or get the\n upside of CFDs without risking more than your initial stake with <1>Multipliers.","-2146691203":"Choice of regulation","-249184528":"You can create real accounts under EU or non-EU regulation. Click the <0><0/> icon to learn more about these accounts.","-1505234170":"Trader's Hub tour","-181080141":"Trading hub tour","-1042025112":"Need help moving around?<0>We have a short tutorial that might help. Hit Repeat tour to begin.","-1536335438":"These are the trading accounts available to you. You can click on an account’s icon or description to find out more","-1034232248":"CFDs or Multipliers","-1320214549":"You can choose between CFD trading accounts and Multipliers accounts","-2069414013":"Click the ‘Get’ button to create an account","-951876657":"Top-up your account","-1945421757":"Once you have an account click on ‘Deposit’ or ‘Transfer’ to add funds to an account","-1965920446":"Start trading","-514389291":"<0>EU statutory disclaimer: CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. <0>71% of retail investor accounts lose money when trading CFDs with this provider. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.","-1705887186":"Your deposit is successful.","-142361708":"In process","-1582681840":"We’ve received your request and are waiting for more blockchain confirmations.","-1626218538":"You’ve cancelled your withdrawal request.","-1062841150":"Your withdrawal is unsuccessful due to an error on the blockchain. Please <0>contact us via live chat for more info.","-630780094":"We’re awaiting confirmation from the blockchain.","-1525882769":"Your withdrawal is unsuccessful. We've sent you an email with more information.","-298601922":"Your withdrawal is successful.","-1309258714":"From account number","-1247676678":"To account number","-816476007":"Account holder name","-1995606668":"Amount","-344403983":"Description","-922432739":"Please enter a valid client login ID.","-2021135479":"This field is required.","-1024241603":"Insufficient balance.","-1979554765":"Please enter a valid description.","-1254233806":"You've transferred","-1491457729":"All payment methods","-142563298":"Contact your preferred payment agent for payment instructions and make your deposit.","-1023961762":"Commission on deposits","-552873274":"Commission on withdrawal","-880645086":"Withdrawal amount","-118683067":"Withdrawal limits: <0 />-<1 />","-1125090734":"Important notice to receive your funds","-1924707324":"View transaction","-1474202916":"Make a new withdrawal","-511423158":"Enter the payment agent account number","-2059278156":"Note: {{website_name}} does not charge any transfer fees.","-1201279468":"To withdraw your funds, please choose the same payment method you used to make your deposits.","-1517325716":"Deposit via the following payment methods:","-1547606079":"We accept the following cryptocurrencies:","-42592103":"Deposit cryptocurrencies","-639677539":"Buy cryptocurrencies","-1560098002":"Buy cryptocurrencies via fiat onramp","-541870313":"Deposit via payment agents","-1975494965":"Cashier","-1787304306":"Deriv P2P","-1870909526":"Our server cannot retrieve an address.","-582721696":"The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}","-60779216":"Withdrawals are temporarily unavailable due to system maintenance. You can make your withdrawals when the maintenance is complete.","-215186732":"You’ve not set your country of residence. To access Cashier, please update your country of residence in the Personal details section in your account settings.","-1392897508":"The identification documents you submitted have expired. Please submit valid identity documents to unlock Cashier. ","-954082208":"Your cashier is currently locked. Please contact us via <0>live chat to find out how to unlock it.","-929148387":"Please set your account currency to enable deposits and withdrawals.","-541392118":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and access your cashier.","-247122507":"Your cashier is locked. Please complete the <0>financial assessment to unlock it.","-1443721737":"Your cashier is locked. See <0>how we protect your funds before you proceed.","-901712457":"Your access to Cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to <0>Self-exclusion and set your 30-day turnover limit.","-166472881":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits and withdrawals.","-666905139":"Deposits are locked","-378858101":"Your <0>personal details are incomplete. Please go to your account settings and complete your personal details to enable deposits.","-1318742415":"Your account has not been authenticated. Please submit your <0>proof of identity and <1>proof of address to authenticate your account and request for withdrawals.","-1923809087":"Unfortunately, you can only make deposits. Please contact us via <0>live chat to enable withdrawals.","-172277021":"Cashier is locked for withdrawals","-1624999813":"It seems that you've no commissions to withdraw at the moment. You can make withdrawals once you receive your commissions.","-197251450":"Don't want to trade in {{currency_code}}? You can open another cryptocurrency account.","-781389987":"This is your {{regulation_text}} {{currency_code}} account {{loginid}}","-474666134":"This is your {{currency_code}} account {{loginid}}","-803546115":"Manage your accounts ","-1463156905":"Learn more about payment methods","-1077304626":"Amount ({{currency}})","-1559994981":"Approximate value","-190084602":"Transaction","-811190405":"Time","-1272778997":"We've sent you an email.","-89973258":"Resend email in {{seconds}}s","-1332236294":"Please verify your identity","-1675848843":"Error","-283017497":"Retry","-1196049878":"First line of home address","-1326406485":"Postal Code/ZIP","-939625805":"Telephone","-442575534":"Email verification failed","-1459042184":"Update your personal details","-1603543465":"We can't validate your personal details because there is some information missing.","-614516651":"Need help? <0>Contact us.","-203002433":"Deposit now","-720315013":"You have no funds in your {{currency}} account","-2052373215":"Please make a deposit to use this feature.","-379487596":"{{selected_percentage}}% of available balance ({{format_amount}} {{currency__display_code}})","-1957498244":"more","-299033842":"Recent transactions","-348296830":"{{transaction_type}} {{currency}}","-1929538515":"{{amount}} {{currency}} on {{submit_date}}","-1534990259":"Transaction hash:","-1612346919":"View all","-1059419768":"Notes","-316545835":"Please ensure <0>all details are <0>correct before making your transfer.","-949073402":"I confirm that I have verified the client’s transfer information.","-1752211105":"Transfer now","-598073640":"About Tether (Ethereum)","-275902914":"Tether on Ethereum (eUSDT)","-1188009792":"Tether on Omni Layer (USDT)","-1239329687":"Tether was originally created to use the bitcoin network as its transport protocol ‒ specifically, the Omni Layer ‒ to allow transactions of tokenised traditional currency.","-2013448791":"Want to exchange between e-wallet currencies? Try <0>Ewallet.Exchange","-2061807537":"Something’s not right","-1068036170":"We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-2056016338":"You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.","-599632330":"We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.","-1196994774":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency accounts.","-1361372445":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts, your Deriv cryptocurrency and {{platform_name_derivez}} accounts, and your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-993556039":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.","-1382702462":"We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts.","-1995859618":"You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_derivez}} and {{platform_name_dxtrade}} accounts.","-545616470":"Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_derivez }} transfers between your Deriv and {{platform_name_derivez}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.","-1151983985":"Transfer limits may vary depending on the exchange rates.","-1747571263":"Please bear in mind that some transfers may not be possible.","-757062699":"Transfers may be unavailable due to high volatility or technical issues and when the exchange markets are closed.","-1344870129":"Deriv accounts","-1156059326":"You have {{number}} transfer remaining for today.","-1109729546":"You will be able to transfer funds between MT5 accounts and other accounts once your address is verified.","-1593609508":"Transfer between your accounts in Deriv","-464965808":"Transfer limits: <0 /> - <1 />","-553249337":"Transfers are locked","-1638172550":"To enable this feature you must complete the following:","-1949883551":"You only have one account","-1149845849":"Back to Trader's Hub","-1232852916":"We’re switching over to your {{currency}} account to view the transaction.","-993393818":"Binance Smart Chain","-561858764":"Polygon (Matic)","-410890127":"Ethereum (ERC20)","-1059526741":"Ethereum (ETH)","-1615615253":"We do not support Tron, to deposit please use only Ethereum ({{token}}).","-1831000957":"Please select the network from where your deposit will come from.","-314177745":"Unfortunately, we couldn't get the address since our server was down. Please click Refresh to reload the address or try again later.","-1345040662":"Looking for a way to buy cryptocurrency?","-759000391":"We were unable to verify your information automatically. To enable this function, you must complete the following:","-1632668764":"I accept","-544232635":"Please go to the Deposit page to generate an address. Then come back here to continue with your transaction.","-1161069724":"Please copy the crypto address you see below. You'll need it to deposit your cryptocurrency.","-1388977563":"Copied!","-1962894999":"This address can only be used ONCE. Please copy a new one for your next transaction.","-451858550":"By clicking 'Continue' you will be redirected to {{ service }}, a third-party payment service provider. Please note that {{ website_name }} is not responsible for the content or services provided by {{ service }}. If you encounter any issues related to {{ service }} services, you must contact {{ service }} directly.","-2005265642":"Fiat onramp is a cashier service that allows you to convert fiat currencies to crypto to top up your Deriv crypto accounts. Listed here are third-party crypto exchanges. You’ll need to create an account with them to use their services.","-1593063457":"Select payment channel","-953082600":"Some payment methods may not be listed here but payment agents may still offer them. If you can’t find your favourite method, contact the payment agents directly to check further.","-2004264970":"Your wallet address should have 25 to 64 characters.","-1707299138":"Your {{currency_symbol}} wallet address","-38063175":"{{account_text}} wallet","-705272444":"Upload a proof of identity to verify your identity","-2024958619":"This is to protect your account from unauthorised withdrawals.","-130833284":"Please note that your maximum and minimum withdrawal limits aren’t fixed. They change due to the high volatility of cryptocurrency.","-1531269493":"We'll send you an email once your transaction has been processed.","-113940416":"Current stake:","-1999539705":"Deal cancel. fee:","-447037544":"Buy price:","-1342699195":"Total profit/loss:","-1511825574":"Profit/Loss:","-726626679":"Potential profit/loss:","-338379841":"Indicative price:","-1525144993":"Payout limit:","-1167474366":"Tick ","-555886064":"Won","-529060972":"Lost","-571642000":"Day","-155989831":"Decrement value","-1192773792":"Don't show this again","-1769852749":"N/A","-1572746946":"Asian Up","-686840306":"Asian Down","-2141198770":"Higher","-816098265":"Lower","-1646655742":"Spread Up","-668987427":"Spread Down","-912577498":"Matches","-1862940531":"Differs","-808904691":"Odd","-556230215":"Ends Outside","-1268220904":"Ends Between","-703542574":"Up","-1127399675":"Down","-768425113":"No Touch","-1163058241":"Stays Between","-1354485738":"Reset Call","-376148198":"Only Ups","-1337379177":"High Tick","-328036042":"Please enter a stop loss amount that's higher than the current potential loss.","-2127699317":"Invalid stop loss. Stop loss cannot be more than stake.","-1150099396":"We’re working to have this available for you soon. If you have another account, switch to that account to continue trading. You may add a Deriv MT5 Financial.","-1940333322":"DBot is not available for this account","-1223145005":"Loss amount: {{profit}}","-1062922595":"Reference ID (buy)","-2068574600":"Reference ID (sell)","-994038153":"Start Time","-1979852400":"Entry Spot","-427802309":"Profit/Loss","-668558002":"Journal.csv","-746652890":"Notifications","-824109891":"System","-507620484":"Unsaved","-764102808":"Google Drive","-1109191651":"Must be a number higher than 0","-1917772100":"Invalid number format","-1553945114":"Value must be higher than 2","-689786738":"Minimum duration: {{ min }}","-184183432":"Maximum duration: {{ max }}","-749186458":"Account switching is disabled while your bot is running. Please stop your bot before switching accounts.","-662836330":"Would you like to keep your current contract or close it? If you decide to keep it running, you can check and close it later on the <0>Reports page.","-597939268":"Keep my contract","-1322453991":"You need to log in to run the bot.","-1483938124":"This strategy is currently not compatible with DBot.","-236548954":"Contract Update Error","-1428017300":"THE","-1450728048":"OF","-255051108":"YOU","-1845434627":"IS","-931434605":"THIS","-740712821":"A","-187634388":"This block is mandatory. Here is where you can decide if your bot should continue trading. Only one copy of this block is allowed.","-2105473795":"The only input parameter determines how block output is going to be formatted. In case if the input parameter is \"string\" then the account currency will be added.","-1800436138":"2. for \"number\": 1325.68","-2046396241":"This block is mandatory. Only one copy of this block is allowed. It is added to the canvas by default when you open DBot.","-530632460":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of \"True\" or \"False\".","-1875717842":"Examples:","-890079872":"1. If the selected direction is \"Rise\", and the previous tick value is less than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-489739641":"2. If the selected direction is \"Fall\", and the previous tick value is more than the current tick value, the output will be \"True\". Otherwise, the output will be an empty string.","-2116076360":"There are 4 message types:","-1421941045":"2. 'Warn' displays a message in yellow to highlight something that needs attention.","-277850921":"If \"Win\" is selected, it will return \"True\" if your last trade was successful. Otherwise, it will return an empty string.","-1918487001":"Example:","-2139916657":"1. In the below example the loop is terminated in case \"x\" is \"False\" even though only one iteration is complete","-1238900333":"2. In the below example the loop jumps to the next iteration without executing below block in case if \"x\" is \"False\"","-1729479576":"You can use \"i\" inside the loop, for example to access list items","-1474636594":"In this example, the loop will repeat three times, as that is the number of items in the given list. During each iteration, the variable \"i\" will be assigned a value from the list. ","-908772734":"This block evaluates a statement and will perform an action only when the statement is true.","-334040831":"2. In this example, the instructions are repeated as long as the value of x is greater than or equal to 10. Once the value of x drops below 10, the loop is terminated.","-444267958":"\"Seconds Since Epoch\" block returns the number of seconds since January 1st, 1970.","-447522129":"You might need it when you want to repeat an actions after certain amount of time.","-1488259879":"The term \"candle\" refers to each bar on the candlestick chart. Each candle represents four market prices for the selected time interval:","-2020693608":"Each candlestick on the chart represents 4 market prices for the selected time interval:","-62728852":"- Open price: the opening price","-1247744334":"- Low price: the lowest price","-1386365697":"- Close price: the closing price","-1498732382":"A black (or red) candle indicates that the open price is higher than the close price. This represents a downward movement of the market price.","-1871864755":"This block gives you the last digit of the latest tick value of the selected market. If the latest tick value is 1410.90, this block will return 0. It’s useful for digit-based contracts such as Even/Odd, Matches/Differs, or Higher/Lower.","-1029671512":"In case if the \"OR\" operation is selected, the block returns \"True\" in case if one or both given values are \"True\"","-210295176":"Available operations:","-1385862125":"- Addition","-983721613":"- Subtraction","-854750243":"- Multiplication","-1394815185":"In case if the given number is less than the lower boundary of the range, the block returns the lower boundary value. Similarly, if the given number is greater than the higher boundary, the block will return the higher boundary value. In case if the given value is between boundaries, the block will return the given value unchanged.","-1034564248":"In the below example the block returns the value of 10 as the given value (5) is less than the lower boundary (10)","-2009817572":"This block performs the following operations to a given number","-671300479":"Available operations are:","-514610724":"- Absolute","-1923861818":"- Euler’s number (2.71) to the power of a given number","-1556344549":"Here’s how:","-1061127827":"- Visit the following URL, make sure to replace with the Telegram API token you created in Step 1: https://api.telegram.org/bot/getUpdates","-70949308":"4. Come back to DBot and add the Notify Telegram block to the workspace. Paste the Telegram API token and chat ID into the block fields accordingly.","-311389920":"In this example, the open prices from a list of candles are assigned to a variable called \"cl\".","-1460794449":"This block gives you a list of candles within a selected time interval.","-1634242212":"Used within a function block, this block returns a value when a specific condition is true.","-2012970860":"This block gives you information about your last contract.","-1504783522":"You can choose to see one of the following:","-10612039":"- Profit: the profit you’ve earned","-555996976":"- Entry time: the starting time of the contract","-1391071125":"- Exit time: the contract expiration time","-1961642424":"- Exit value: the value of the last tick of the contract","-111312913":"- Barrier: the barrier value of the contract (applicable to barrier-based trade types such as stays in/out, touch/no touch, etc.)","-674283099":"- Result: the result of the last contract: \"win\" or \"loss\"","-704543890":"This block gives you the selected candle value such as open price, close price, high price, low price, and open time. It requires a candle as an input parameter.","-482281200":"In the example below, the open price is assigned to the variable \"op\".","-364621012":"This block gives you the specified candle value for a selected time interval. You can choose which value you want:","-232477769":"- Open: the opening price","-610736310":"Use this block to sell your contract at the market price. Selling your contract is optional. You may choose to sell if the market trend is unfavourable.","-1307657508":"This block gives you the potential profit or loss if you decide to sell your contract. It can only be used within the \"Sell conditions\" root block.","-1921072225":"In the example below, the contract will only be sold if the potential profit or loss is more than the stake.","-955397705":"SMA adds the market price in a list of ticks or candles for a number of time periods, and divides the sum by that number of time periods.","-1424923010":"where n is the number of periods.","-1835384051":"What SMA tells you","-749487251":"SMA serves as an indicator of the trend. If the SMA points up then the market price is increasing and vice versa. The larger the period number, the smoother SMA line is.","-1996062088":"In this example, each point of the SMA line is an arithmetic average of close prices for the last 10 days.","-1866751721":"Input list accepts a list of ticks or candles, while period is the specified time period.","-1097076512":"You may compare SMA values calculated on every bot run to identify the market trend direction. Alternatively, you may also use a variation of the SMA block, the Simple Moving Average Array block. ","-1254849504":"If a period of 10 is entered, the Simple Moving Average Array block will return a list of SMA values calculated based on period of 10.","-1190046167":"This block displays a dialog box with a customised message. When the dialog box is displayed, your strategy is paused and will only resume after you click \"OK\".","-859028989":"In this example, the date and time will be displayed in a green notification box.","-1452086215":"In this example, a Rise contract will be purchased at midnight on 1 August 2019.","-1765276625":"Click the multiplier drop-down menu and choose the multiplier value you want to trade with.","-1872233077":"Your potential profit will be multiplied by the multiplier value you’ve chosen.","-614454953":"To learn more about multipliers, please go to the <0>Multipliers page.","-2078588404":"Select your desired market and asset type. For example, Forex > Major pairs > AUD/JPY","-2037446013":"2. Trade Type","-533927844":"Select your desired trade type. For example, Up/Down > Rise/Fall","-1192411640":"4. Default Candle Interval","-485434772":"8. Trade Options","-1827646586":"This block assigns a given value to a variable, creating the variable if it doesn't already exist.","-254421190":"List: ({{message_length}})","-1616649196":"results","-90107030":"No results found","-984140537":"Add","-786915692":"You are connected to Google Drive","-1150107517":"Connect","-1759213415":"Find out how this app handles your data by reviewing Deriv's <0>Privacy policy, which is part of Deriv's <1>Terms and conditions.","-934909826":"Load strategy","-1121028020":"or, if you prefer...","-254025477":"Select an XML file from your device","-1131095838":"Please upload an XML file","-523928088":"Create one or upload one from your local drive or Google Drive.","-1684205190":"Why can't I see my recent bots?","-2050879370":"1. Logged in from a different device","-811857220":"3. Cleared your browser cache","-1016171176":"Asset","-621128676":"Trade type","-671128668":"The amount that you pay to enter a trade.","-447853970":"Loss threshold","-410856998":"The bot will stop trading if your total profit exceeds this amount.","-1823621139":"Quick Strategy","-625024929":"Leaving already?","-584289785":"No, I'll stay","-1435060006":"If you leave, your current contract will be completed, but your bot will stop running immediately.","-783058284":"Total stake","-2077494994":"Total payout","-1073955629":"No. of runs","-1729519074":"Contracts lost","-42436171":"Total profit/loss","-1137823888":"Total payout since you last cleared your stats.","-992662695":"The number of times your bot has run since you last cleared your stats. Each run includes the execution of all the root blocks.","-1382491190":"Your total profit/loss since you last cleared your stats. It is the difference between your total payout and your total stake.","-305283152":"Strategy name","-1003476709":"Save as collection","-636521735":"Save strategy","-1373954791":"Should be a valid number","-1278608332":"Please enter a number between 0 and {{api_max_losses}}.","-287597204":"Enter limits to stop your bot from trading when any of these conditions are met.","-1445989611":"Limits your potential losses for the day across all Deriv platforms.","-152878438":"Maximum number of trades your bot will execute for this run.","-1490942825":"Apply and run","-1696412885":"Import","-250192612":"Sort","-1566369363":"Zoom out","-2060170461":"Load","-1200116647":"Click here to start building your DBot.","-1040972299":"Purchase contract","-600546154":"Sell contract (optional)","-985351204":"Trade again","-112876186":"Analysis","-1769584466":"Stats","-1133736197":"Utility","-1682372359":"Text","-907562847":"Lists","-1646497683":"Loops","-251326965":"Miscellaneous","-1285759343":"Search","-1058262694":"Stopping the bot will prevent further trades. Any ongoing trades will be completed by our system.","-1473283434":"Please be aware that some completed transactions may not be displayed in the transaction table if the bot is stopped while placing trades.","-397015538":"You may refer to the statement page for details of all completed transactions.","-1442034178":"Contract bought","-2020280751":"Bot is stopping","-1436403979":"Contract closed","-1711732508":"Reference IDs","-386141434":"(Buy)","-482272687":"(Sell)","-1983189496":"ticks","-694277729":"(High)","-2028564707":"(Low)","-627895223":"Exit spot","-596238067":"Entry/Exit spot","-558594655":"The bot is not running","-478946875":"The stats are cleared","-9461328":"Security and privacy","-563774117":"Dashboard","-418247251":"Download your journal.","-870004399":"<0>Bought: {{longcode}} (ID: {{transaction_id}})","-1211474415":"Filters","-186972150":"There are no messages to display","-999254545":"All messages are filtered out","-686334932":"Build a bot from the start menu then hit the run button to run the bot.","-1717650468":"Online","-1825471709":"A whole new trading experience on a powerful yet easy to use platform.","-981017278":"Automated trading at your fingertips. No coding needed.","-1309011360":"Open positions","-1597214874":"Trade table","-883103549":"Account deactivated","-821418875":"Trader","-679102561":"Contract Details","-430118939":"Complaints policy","-568280383":"Deriv Gaming","-895331276":"Complete your proof of address","-782679300":"Complete your proof of identity","-1596515467":"Derived BVI","-222394569":"Derived Vanuatu","-533935232":"Financial BVI","-565431857":"Financial Labuan","-1290112064":"Deriv EZ","-1669418686":"AUD/CAD","-1548588249":"AUD/CHF","-1552890620":"AUD/JPY","-681231560":"AUD/PLN","-64938413":"AUD/USD","-1430522808":"EUR/AUD","-2020477069":"EUR/CAD","-1201853162":"EUR/CHF","-1318070255":"EUR/GBP","-1197505739":"EUR/JPY","-405907358":"EUR/USD","-1536293064":"NZD/JPY","-79700881":"NZD/USD","-642323838":"USD/CAD","-428199705":"USD/CHF","-424108348":"USD/JPY","-548255282":"USD/NOK","-1834131208":"USD/PLN","-524302516":"Silver/USD","-764731776":"Platinum/USD","-853582174":"France 40","-1096386695":"UK 100","-617646862":"Germany 40","-2077690248":"Japan 225","-512194910":"US Tech 100","-381746202":"US 500","-1935463381":"Swiss 20","-1941767726":"Euro 50","-1925264914":"Volatility 25 Index","-708579504":"Volatility 50 Index","-975255670":"Volatility 75 Index","-1736314513":"Crash 300 Index","-342128411":"Crash 500 Index","-9704319":"Crash 1000 Index","-465860988":"Bull Market Index","-390528194":"Step Index","-280323742":"EUR Basket","-563812039":"Volatility 10 (1s) Index","-764111252":"Volatility 100 (1s) Index","-816110209":"Volatility 150 (1s) Index","-1374309449":"Volatility 200 (1s) Index","-1288044380":"Volatility 250 (1s) Index","-1164978320":"Jump 10 Index","-575272887":"BCH/USD","-295406873":"BTC/ETH","-1713556301":"ZMR/USD","-2046638412":"XRP/USD","-1263203461":"BTC/USD","-1112522776":"DSH/USD","-460689370":"LTC/USD","-841561409":"Put Spread","-137444201":"Buy","-1500514644":"Accumulator","-144803045":"Only numbers and these special characters are allowed: {{permitted_characters}}","-1450516268":"Only letters, numbers, space, hyphen, period, and apostrophe are allowed.","-1966032552":"The length of token should be 8.","-2128137611":"Should start with letter or number, and may contain hyphen and underscore.","-1590869353":"Up to {{decimal_count}} decimal places are allowed.","-2061307421":"Should be more than {{min_value}}","-1099941162":"Should be less than {{max_value}}","-1528188268":"Straight rows of keys are easy to guess","-1339903234":"Short keyboard patterns are easy to guess","-23980798":"Repeats like \"aaa\" are easy to guess","-235760680":"Avoid repeated words and characters","-1568933154":"Sequences like abc or 6543 are easy to guess","-725663701":"Avoid sequences","-1450768475":"Recent years are easy to guess","-1804838610":"Avoid years that are associated with you","-64849469":"Dates are often easy to guess","-2006915194":"Avoid dates and years that are associated with you","-2124205211":"A word by itself is easy to guess","-1095202689":"All-uppercase is almost as easy to guess as all-lowercase","-2137856661":"Reversed words aren't much harder to guess","-1885413063":"Predictable substitutions like '@' instead of 'a' don't help very much","-369258265":"This password is on the blacklist","-681468758":"Your web browser is out of date and may affect your trading experience. Please <0>update your browser.","-577777971":"You have reached the rate limit of requests per second. Please try later.","-206321775":"Fiat","-522767852":"DEMO","-433761292":"Switching to default account.","-405439829":"Sorry, you can't view this contract because it doesn't belong to this account.","-1590712279":"Gaming","-16448469":"Virtual","-540474806":"Your Options account is scheduled to be closed","-618539786":"Your account is scheduled to be closed","-945275490":"Withdraw all funds from your Options account.","-2093768906":"{{name}} has released your funds.
Would you like to give your feedback?","-705744796":"Your demo account balance has reached the maximum limit, and you will not be able to place new trades. Reset your balance to continue trading from your demo account.","-2063700253":"disabled","-800774345":"Power up your Financial trades with intuitive tools from Acuity.","-279582236":"Learn More","-1211460378":"Power up your trades with Acuity","-703292251":"Download intuitive trading tools to keep track of market events. The Acuity suite is only available for Windows, and is most recommended for financial assets.","-1585069798":"Please click the following link to complete your Appropriateness Test.","-1287141934":"Find out more","-367759751":"Your account has not been verified","-596690079":"Enjoy using Deriv?","-265932467":"We’d love to hear your thoughts","-1815573792":"Drop your review on Trustpilot.","-823349637":"Go to Trustpilot","-1204063440":"Set my account currency","-1601813176":"Would you like to increase your daily limits to {{max_daily_buy}} {{currency}} (buy) and {{max_daily_sell}} {{currency}} (sell)?","-1751632759":"Get a faster mobile trading experience with the <0>{{platform_name_go}} app!","-1164554246":"You submitted expired identification documents","-219846634":"Let’s verify your ID","-529038107":"Install","-1738575826":"Please switch to your real account or create one to access the cashier.","-1329329028":"You’ve not set your 30-day turnover limit","-132893998":"Your access to the cashier has been temporarily disabled as you have not set your 30-day turnover limit. Please go to Self-exclusion and set the limit.","-1852207910":"MT5 withdrawal disabled","-764323310":"MT5 withdrawals have been disabled on your account. Please check your email for more details.","-1902997828":"Refresh now","-753791937":"A new version of Deriv is available","-1775108444":"This page will automatically refresh in 5 minutes to load the latest version.","-1175685940":"Please contact us via live chat to enable withdrawals.","-1125797291":"Password updated.","-157145612":"Please log in with your updated password.","-1728185398":"Resubmit proof of address","-612396514":"Please resubmit your proof of address.","-1519764694":"Your proof of address is verified.","-1961967032":"Resubmit proof of identity","-117048458":"Please submit your proof of identity.","-1196422502":"Your proof of identity is verified.","-136292383":"Your proof of address verification is pending","-386909054":"Your proof of address verification has failed","-430041639":"Your proof of address did not pass our verification checks, and we’ve placed some restrictions on your account. Please resubmit your proof of address.","-87177461":"Please go to your account settings and complete your personal details to enable deposits.","-904632610":"Reset your balance","-470018967":"Reset balance","-156611181":"Please complete the financial assessment in your account settings to unlock it.","-1925176811":"Unable to process withdrawals in the moment","-980696193":"Withdrawals are temporarily unavailable due to system maintenance. You can make withdrawals when the maintenance is complete.","-1647226944":"Unable to process deposit in the moment","-488032975":"Deposits are temporarily unavailable due to system maintenance. You can make deposits when the maintenance is complete.","-67021419":"Our cashier is temporarily down due to system maintenance. You can access the cashier in a few minutes when the maintenance is complete.","-849587074":"You have not provided your tax identification number","-47462430":"This information is necessary for legal and regulatory requirements. Please go to your account settings, and fill in your latest tax identification number.","-2067423661":"Stronger security for your Deriv account","-1719731099":"With two-factor authentication, you’ll protect your account with both your password and your phone - so only you can access your account, even if someone knows your password.","-949074612":"Please contact us via live chat.","-2087822170":"You are offline","-1669693571":"Check your connection.","-1706642239":"<0>Proof of ownership <1>required","-553262593":"<0><1>Your account is currently locked <2><3>Please upload your proof of <4>ownership to unlock your account. <5>","-1834929362":"Upload my document","-1043638404":"<0>Proof of ownership <1>verification failed","-1766760306":"<0><1>Please upload your document <2>with the correct details. <3>","-8892474":"Start assessment","-1330929685":"Please submit your proof of identity and proof of address to verify your account and continue trading.","-99461057":"Please submit your proof of address to verify your account and continue trading.","-577279362":"Please submit your proof of identity to verify your account and continue trading.","-197134911":"Your proof of identity is expired","-152823394":"Your proof of identity has expired. Please submit a new proof of identity to verify your account and continue trading.","-2142540205":"It appears that the address in your document doesn’t match the address in your Deriv profile. Please update your personal details now with the correct address.","-482715448":"Go to Personal details","-2072411961":"Your proof of address has been verified","-384887227":"Update the address in your profile.","-448961363":"non-EU","-1998049070":"If you agree to our use of cookies, click on Accept. For more information, <0>see our policy.","-402093392":"Add Deriv Account","-277547429":"A Deriv account will allow you to fund (and withdraw from) your MT5 account(s).","-1721181859":"You’ll need a {{deriv_account}} account","-1989074395":"Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.","-689237734":"Proceed","-1642457320":"Help centre","-1966944392":"Network status: {{status}}","-594209315":"Synthetic indices in the EU are offered by {{legal_entity_name}}, W Business Centre, Level 3, Triq Dun Karm, Birkirkara BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority (<0>licence no. MGA/B2C/102/2000) and by the Revenue Commissioners for clients in Ireland (<2>licence no. 1010285).","-181484419":"Responsible trading","-650505513":"Full screen","-1823504435":"View notifications","-1954045170":"No currency assigned","-583559763":"Menu","-1591792668":"Account Limits","-34495732":"Regulatory information","-1496158755":"Go to Deriv.com","-1396326507":"Unfortunately, {{website_name}} is not available in your country.","-1019903756":"Synthetic","-288996254":"Unavailable","-735306327":"Manage accounts","-1310654342":"As part of the changes in our product line-up, we will be closing Gaming accounts belonging to our UK clients.","-626152766":"As part of the changes in our product line-up, we are closing Options accounts belonging to our clients in Europe.","-490100162":"As part of the changes in our product line-up, we will be closing accounts belonging to our Isle of Man clients.","-1208958060":"You can no longer trade digital options on any of our platforms. You also can’t deposit funds into your account.<0/><1/>Any open positions on digital options have been closed with full payout.","-2050417883":"You’ll lose access to your Gaming account when it gets closed, so make sure to withdraw your funds as soon as possible.","-1950045402":"Withdraw all your funds","-168971942":"What this means for you","-905560792":"OK, I understand","-1308593541":"You will lose access to your account when it gets closed, so be sure to withdraw all your funds.","-2024365882":"Explore","-1197864059":"Create free demo account","-1813972756":"Account creation paused for 24 hours","-366030582":"Sorry, you're unable to create an account at this time. As you declined our previous risk warnings, we need you to wait for 24 hours after your first account creation attempt before you can proceed.<0/><0/>","-534047566":"Thank you for your understanding. You can create your account on {{real_account_unblock_date}} or later.","-399816343":"Trading Experience Assessment<0/>","-1822498621":"As per our regulatory obligations, we are required to assess your trading knowledge and experience.<0/><0/>Please click ‘OK’ to continue","-71049153":"Keep your account secure with a password","-1861974537":"Strong passwords contain at least 8 characters, combine uppercase and lowercase letters, numbers, and symbols.","-1485242688":"Step {{step}}: {{step_title}} ({{step}} of {{steps}})","-1829842622":"You can open an account for each cryptocurrency.","-987221110":"Choose a currency you would like to trade with.","-1066574182":"Choose a currency","-1914534236":"Choose your currency","-200560194":"Please switch to your {{fiat_currency}} account to change currencies.","-1829493739":"Choose the currency you would like to trade with.","-1814647553":"Add a new","-1269362917":"Add new","-650480777":"crypto account","-175638343":"Choose an account or add a new one","-1768223277":"Your account is ready","-1215717784":"<0>You have successfully changed your currency to {{currency}}.<0>Make a deposit now to start trading.","-786091297":"Trade on demo","-228099749":"Please verify your identity and address","-1041852744":"We're processing your personal information","-1775006840":"Make a deposit now to start trading.","-983734304":"We need proof of your identity and address before you can start trading.","-917733293":"To get trading, please confirm where you live.","-1282628163":"You'll be able to get trading as soon as verification is complete.","-952649119":"Log In","-3815578":"Sign Up","-1456176427":"Set a currency for your real account","-1557011219":"Add a real Deriv Options account","-241733171":"Add a Deriv Financial account","-1329687645":"Create a cryptocurrency account","-1429178373":"Create a new account","-1740162250":"Manage account","-1016775979":"Choose an account","-1602122812":"24-hour Cool Down Warning","-1519791480":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the risk of losing your money. <0/><0/>\n As you have declined our previous warning, you would need to wait 24 hours before you can proceed further.","-1010875436":"CFDs and other financial instruments come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs and other financial instruments work and whether you can afford to take the high risk of losing your money. <0/><0/> To continue, kindly note that you would need to wait 24 hours before you can proceed further.","-1725418054":"By clicking ‘Accept’ and proceeding with the account opening, you should note that you may be exposing yourself to risks. These risks, which may be significant, include the risk of losing the entire sum invested, and you may not have the knowledge and experience to properly assess or mitigate them.","-1369294608":"Already signed up?","-617844567":"An account with your details already exists.","-292363402":"Trading statistics report","-1656860130":"Options trading can become a real addiction, as can any other activity pushed to its limits. To avoid the danger of such an addiction, we provide a reality-check that gives you a summary of your trades and accounts on a regular basis.","-28080461":"Would like to check your statement first? <0>Check Statement","-611059051":"Please specify your preferred interval reality check in minutes:","-1876891031":"Currency","-11615110":"Turnover","-1370419052":"Profit / Loss","-437320982":"Session duration:","-3959715":"Current time:","-1534648620":"Your password has been changed","-596199727":"We will now redirect you to the login page.","-310434518":"The email input should not be empty.","-437918412":"No currency assigned to your account","-1193651304":"Country of residence","-707550055":"We need this to make sure our service complies with laws and regulations in your country.","-280139767":"Set residence","-601615681":"Select theme","-1152511291":"Dark","-1428458509":"Light","-1976089791":"Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.","-505449293":"Enter a new password for your Deriv account.","-891307883":"If you close this window, you will lose any information you have entered.","-703818088":"Only log in to your account at this secure link, never elsewhere.","-1235799308":"Fake links often contain the word that looks like \"Deriv\" but look out for these differences.","-2102997229":"Examples","-82488190":"I've read the above carefully.","-97775019":"Do not trust and give away your credentials on fake websites, ads or emails.","-2142491494":"OK, got it","-611136817":"Beware of fake links.","-1787820992":"Platforms","-1793883644":"Trade FX and CFDs on a customisable, easy-to-use trading platform.","-184713104":"Earn fixed payouts with options, or trade multipliers to amplify your gains with limited risk.","-1571775875":"Our flagship options and multipliers trading platform.","-895091803":"If you're looking for CFDs","-1447215751":"Not sure? Try this","-2338797":"<0>Maximise returns by <0>risking more than you put in.","-1682067341":"Earn <0>fixed returns by <0>risking only what you put in.","-1744351732":"Not sure where to start?","-943710774":"This complaints policy, which may change from time to time, applies to your account registered with {{legal_entity_name}}, having its registered office address at First Floor, Millennium House, Victoria Road, Douglas, Isle of Man, IM2 4RW, licensed and regulated respectively by (1) the Gambling Supervision Commission in the Isle of Man (current <0>licence issued on 31 August 2017) and (2) the Gambling Commission in the UK (<1>licence no. 39172).","-255056078":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name}}, having its registered office address at W Business Centre, Level 3, Triq Dun Karm, Birkirkara, BKR 9033, Malta, licensed and regulated by the Malta Gaming Authority in Malta for gambling products only, <0>licence no. MGA/B2C/102/2000, and for clients residing in the UK by the UK Gambling Commission (account number 39495).","-1941013000":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}, {{legal_entity_name_fx}}, and {{legal_entity_name_v}}.","-594812204":"This complaints policy, which may change from time to time, applies to your account(s) registered with {{legal_entity_name_svg}}.","-1639808836":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Independent Betting Adjudication Service (IBAS) by filling the IBAS adjudication form. Please note that IBAS only deals with disputes that result from transactions.","-1505742956":"<0/><1/>You can also refer your dispute to the Malta Gaming Authority via the <2>Player Support Unit.","-1406192787":"If you are not satisfied with the outcome, you can escalate your complaint to the <0>Financial Commission.","-1776547326":"<0/><1/>If you reside in the UK and you are unhappy with our response you may escalate your complaint to the <2>Financial Ombudsman Service.","-2115348800":"1. Introduction","-744009523":"2. Fair treatment","-866831420":"3.1. Submission of a complaint","-1102904026":"3.2. Handling your complaint","-603378979":"3.3. Resolving your complaint","-697569974":"3.4. Your decision","-993572476":"<0>b.The Financial Commission has 5 days to acknowledge that your complaint was received and 14 days to answer the complaint through our Internal Dispute Resolution (IDR) procedure.","-1769159081":"<0>c.You will be able to file a complaint with the Financial Commission only if you are not satisfied with our decision or the decision wasn’t made within 14 days.","-58307244":"3. Determination phase","-356618087":"<0>b.The DRC may request additional information from you or us, who must then provide the requested information within 7 days.","-945718602":"<0>b.If you agree with a DRC decision, you will need to accept it within 14 days. If you do not respond to the DRC decision within 14 days, the complaint is considered closed.","-1500907666":"<0>d.If the decision is made in our favour, you must provide a release for us within 7 days of when the decision is made, and the complaint will be considered closed.","-429248139":"5. Disclaimer","-818926350":"The Financial Commission accepts appeals for 45 days following the date of the incident and only after the trader has tried to resolve the issue with the company directly.","-358055541":"Power up your trades with cool new tools","-29496115":"We've partnered with Acuity to give you a suite of intuitive trading tools for MT5 so you can keep track of market events and trends, free of charge!<0/><0/>","-648669944":"Download the Acuity suite and take advantage of the <1>Macroeconomic Calendar, Market Alerts, Research Terminal, and <1>Signal Centre Trade Ideas without leaving your MT5 terminal.<0/><0/>","-794294380":"This suite is only available for Windows, and is most recommended for financial assets.","-922510206":"Need help using Acuity?","-815070480":"Disclaimer: The trading services and information provided by Acuity should not be construed as a solicitation to invest and/or trade. Deriv does not offer investment advice. The past is not a guide to future performance, and strategies that have worked in the past may not work in the future.","-2111521813":"Download Acuity","-941870889":"The cashier is for real accounts only","-352838513":"It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.","-1858915164":"Ready to deposit and trade for real?","-162753510":"Add real account","-1208519001":"You need a real Deriv account to access the cashier.","-175369516":"Welcome to Deriv X","-939154994":"Welcome to Deriv MT5 dashboard","-1667427537":"Run Deriv X on your browser or download the mobile app","-305915794":"Run MT5 from your browser or download the MT5 app for your devices","-404375367":"Trade forex, basket indices, commodities, and cryptocurrencies with high leverage.","-243985555":"Trade CFDs on forex, stocks, stock indices, synthetic indices, cryptocurrencies, and commodities with leverage.","-2030107144":"Trade CFDs on forex, stocks & stock indices, commodities, and crypto.","-705682181":"Malta","-409563066":"Regulator","-1302404116":"Maximum leverage","-2098459063":"British Virgin Islands","-1510474851":"British Virgin Islands Financial Services Commission (licence no. SIBA/L/18/1114)","-761250329":"Labuan Financial Services Authority (Licence no. MB/18/0024)","-1264604378":"Up to 1:1000","-1686150678":"Up to 1:100","-637908996":"100%","-1420548257":"20+","-1373949478":"50+","-1382029900":"70+","-1493055298":"90+","-223956356":"Leverage up to 1:1000","-1340877988":"Registered with the Financial Commission","-1789823174":"Regulated by the Vanuatu Financial Services Commission","-1971989290":"90+ assets: forex, stock indices, commodities and cryptocurrencies","-1372141447":"Straight-through processing","-318390366":"Regulated by the Labuan Financial Services Authority (Licence no. MB/18/0024)","-1556783479":"80+ assets: forex and cryptocurrencies","-875019707":"Leverage up to 1:100","-2068980956":"Leverage up to 1:30","-1434036215":"Demo Financial","-1416247163":"Financial STP","-1882063886":"Demo CFDs","-1347908717":"Demo Financial SVG","-1780324582":"SVG","-785625598":"Use these credentials to log in to your {{platform}} account on the website and mobile apps.","-997127433":"Change Password","-1300381594":"Get Acuity trading tools","-860609405":"Password","-742647506":"Fund transfer","-1972393174":"Trade CFDs on our synthetics, baskets, and derived FX.","-1357917360":"Web terminal","-1454896285":"The MT5 desktop app is not supported by Windows XP, Windows 2003, and Windows Vista.","-810388996":"Download the Deriv X mobile app","-1727991510":"Scan the QR code to download the Deriv X Mobile App","-511301450":"Indicates the availability of cryptocurrency trading on a particular account.","-1647569139":"Synthetics, Baskets, Derived FX, Forex: standard/micro, Stocks, Stock indices, Commodities, Cryptocurrencies","-2102641225":"At bank rollover, liquidity in the forex markets is reduced and may increase the spread and processing time for client orders. This happens around 21:00 GMT during daylight saving time, and 22:00 GMT non-daylight saving time.","-495364248":"Margin call and stop out level will change from time to time based on market condition.","-536189739":"To protect your portfolio from adverse market movements due to the market opening gap, we reserve the right to decrease leverage on all offered symbols for financial accounts before market close and increase it again after market open. Please make sure that you have enough funds available in your {{platform}} account to support your positions at all times.","-712681566":"Peer-to-peer exchange","-1267880283":"{{field_name}} is required","-2084509650":"{{field_name}} is not properly formatted.","-1779241732":"First line of address is not in a proper format.","-188222339":"This should not exceed {{max_number}} characters.","-1673422138":"State/Province is not in a proper format.","-1580554423":"Trade CFDs on our synthetic indices that simulate real-world market movements.","-1385484963":"Confirm to change your {{platform}} password","-1990902270":"This will change the password to all of your {{platform}} accounts.","-673424733":"Demo account","-1986258847":"Server maintenance starts at 01:00 GMT every Sunday, and this process may take up to 2 hours to complete. Service may be disrupted during this time.","-1199152768":"Please explore our other platforms.","-205020823":"Explore {{platform_name_trader}}","-1982499699":"Explore {{platform_name_dbot}}","-1567989247":"Submit your proof of identity and address","-184453418":"Enter your {{platform}} password","-393388362":"We’re reviewing your documents. This should take about 1 to 3 days.","-790488576":"Forgot password?","-535365199":"Enter your {{platform}} password to add a {{platform_name}} {{account}} account.","-2057918502":"Hint: You may have entered your Deriv password, which is different from your {{platform}} password.","-1769158315":"real","-700260448":"demo","-1936102840":"Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} {{jurisdiction_selected_shortcode}} account. ","-1570793523":"Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} account.","-1928229820":"Reset Deriv X investor password","-1087845020":"main","-1950683866":"investor","-1874242353":"Fund top up","-89838213":"You can top up your demo account with an additional <0> if your balance is <1> or less.","-1211122723":"{{ platform }} {{ account_title }} account","-78895143":"Current balance","-149993085":"New current balance","-490244964":"Forex, stocks, stock indices, cryptocurrencies","-1368041210":", synthetic indices","-877064208":"EUR","-1284221303":"You’ll get a warning, known as margin call, if your account balance drops down close to the stop out level.","-1848799829":"To understand stop out, first you need to learn about margin level, which is the ratio of your equity (the total balance you would have if you close all your positions at that point) to the margin you're using at the moment. If your margin level drops below our stop out level, your positions may be closed automatically to protect you from further losses.","-224051432":"24/7","-70716111":"FX-majors (standard/micro lots), FX-minors, basket indices, commodities, cryptocurrencies, and stocks and stock indices","-1041629137":"FX-majors, FX-minors, FX-exotics, and cryptocurrencies","-287097947":"FX-majors (standard/micro lots), FX-minors, Commodities, Cryptocurrencies (except UK)","-2016975615":"Deriv MT5 CFDs real account","-1207265427":"Compare CFDs real accounts","-1225160479":"Compare available accounts","-2145356061":"Download Deriv X on your phone to trade with the Deriv X account","-251202291":"Broker","-81650212":"MetaTrader 5 web","-2123571162":"Download","-941636117":"MetaTrader 5 Linux app","-637537305":"Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account","-2042845290":"Your investor password has been changed.","-1882295407":"Your password has been changed.","-254497873":"Use this password to grant viewing access to another user. While they may view your trading account, they will not be able to trade or take any other actions.","-161656683":"Current investor password","-374736923":"New investor password","-1793894323":"Create or reset investor password","-1271218821":"Account added","-1576792859":"Proof of identity and address are required","-2073834267":"Proof of identity is required","-24420436":"Proof of address is required","-2026018074":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).","-162320753":"Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).","-724308541":"Jurisdiction for your Deriv MT5 CFDs account","-1179429403":"Choose a jurisdiction for your MT5 {{account_type}} account","-450424792":"You need a real account (fiat currency or cryptocurrency) in Deriv to create a real Deriv MT5 account.","-1760596315":"Create a Deriv account","-648956272":"Use this password to log in to your Deriv X accounts on the web and mobile apps.","-1814308691":"Please click on the link in the email to change your {{platform}} password.","-1282933308":"Not {{barrier}}","-968190634":"Equals {{barrier}}","-1747377543":"Under {{barrier}}","-1694314813":"Contract value:","-442488432":"day","-337314714":"days","-1763848396":"Put","-1572548510":"Ups & Downs","-71301554":"Ins & Outs","-952298801":"Look Backs","-763273340":"Digits","-993480898":"Accumulators","-1790089996":"NEW!","-1386326276":"Barrier is a required field.","-1418742026":"Higher barrier must be higher than lower barrier.","-92007689":"Lower barrier must be lower than higher barrier.","-1095538960":"Please enter the start time in the format \"HH:MM\".","-1975910372":"Minute must be between 0 and 59.","-866277689":"Expiry time cannot be in the past.","-1455298001":"Now","-256210543":"Trading is unavailable at this time.","-28115241":"{{platform_name_trader}} is not available for this account","-453920758":"Go to {{platform_name_mt5}} dashboard","-402175529":"History","-902712434":"Deal cancellation","-988484646":"Deal cancellation (executed)","-444882676":"Deal cancellation (active)","-13423018":"Reference ID","-1551639437":"No history","-1214703885":"You have yet to update either take profit or stop loss","-880722426":"Market is closed","-504849554":"It will reopen at","-59803288":"In the meantime, try our synthetic indices. They simulate real-market volatility and are open 24/7.","-1278109940":"See open markets","-694105443":"This market is closed","-439389714":"We’re working on it","-770929448":"Go to {{platform_name_smarttrader}}","-138538812":"Log in or create a free account to place a trade.","-2036388794":"Create free account","-1813736037":"No further trading is allowed on this contract type for the current trading session. For more info, refer to our <0>terms and conditions.","-590131162":"Stay on {{website_domain}}","-1444663817":"Go to Binary.com","-1526466612":"You’ve selected a trade type that is currently unsupported, but we’re working on it.","-1043795232":"Recent positions","-1572796316":"Purchase price:","-153220091":"{{display_value}} Tick","-802374032":"Hour","-2039780875":"Purchase confirmation","-1672470173":"Require confirmation before purchasing a contract","-1342661765":"Lock contract purchase buttons","-939764287":"Charts","-1738427539":"Purchase","-504410042":"When you open a position, barriers will be created around the asset price. For each new tick, the upper and lower barriers are automatically calculated based on the asset and accumulator value you choose. You will earn a profit if you close your position before the asset price hits either of the barriers.","-1907770956":"As long as the price change for each tick is within the barrier, your payout will grow at every tick, based on the accumulator value you’ve selected.","-997670083":"Maximum ticks","-1392065699":"If you select \"Rise\", you win the payout if the exit spot is strictly higher than the entry spot.","-1762566006":"If you select \"Fall\", you win the payout if the exit spot is strictly lower than the entry spot.","-1435306976":"If you select \"Allow equals\", you win the payout if exit spot is higher than or equal to entry spot for \"Rise\". Similarly, you win the payout if exit spot is lower than or equal to entry spot for \"Fall\".","-1959473569":"If you select \"Lower\", you win the payout if the exit spot is strictly lower than the barrier.","-1350745673":"If the exit spot is equal to the barrier, you don't win the payout.","-2089488446":"If you select \"Ends Between\", you win the payout if the exit spot is strictly higher than the Low barrier AND strictly lower than the High barrier.","-1876950330":"If you select \"Ends Outside\", you win the payout if the exit spot is EITHER strictly higher than the High barrier, OR strictly lower than the Low barrier.","-546460677":"If the exit spot is equal to either the Low barrier or the High barrier, you don't win the payout.","-1812957362":"If you select \"Stays Between\", you win the payout if the market stays between (does not touch) either the High barrier or the Low barrier at any time during the contract period","-220379757":"If you select \"Goes Outside\", you win the payout if the market touches either the High barrier or the Low barrier at any time during the contract period.","-1281286610":"If you select \"Matches\", you will win the payout if the last digit of the last tick is the same as your prediction.","-1929209278":"If you select \"Even\", you will win the payout if the last digit of the last tick is an even number (i.e., 2, 4, 6, 8, or 0).","-2038865615":"If you select \"Odd\", you will win the payout if the last digit of the last tick is an odd number (i.e., 1, 3, 5, 7, or 9).","-1416078023":"If you select \"Touch\", you win the payout if the market touches the barrier at any time during the contract period.","-1272255095":"If the exit spot is equal to the barrier or the new barrier (if a reset occurs), you don't win the payout.","-231957809":"Win maximum payout if the exit spot is higher than or equal to the upper barrier.","-464144986":"Win maximum payout if the exit spot is lower than or equal to the lower barrier.","-1031456093":"Win up to maximum payout if exit spot is between lower and upper barrier, in proportion to the difference between upper barrier and exit spot.","-968162707":"No payout if exit spot is above or equal to the upper barrier.","-299450697":"If you select \"High Tick\", you win the payout if the selected tick is the highest among the next five ticks.","-705681870":"By purchasing the \"High-to-Low\" contract, you'll win the multiplier times the difference between the high and low over the duration of the contract.","-420387848":"The high is the highest point ever reached by the market during the contract period.","-1666375348":"By purchasing the \"High-to-Close\" contract, you'll win the multiplier times the difference between the high and close over the duration of the contract.","-2024955268":"If you select “Up”, you will earn a profit by closing your position when the market price is higher than the entry spot.","-1598433845":"If you select “Down”, you will earn a profit by closing your position when the market price is lower than the entry spot.","-1092777202":"The Stop-out level on the chart indicates the price at which your potential loss equals your entire stake. When the market price reaches this level, your position will be closed automatically. This ensures that your loss does not exceed the amount you paid to purchase the contract.","-885323297":"These are optional parameters for each position that you open:","-584696680":"If you select “Take profit” and specify an amount that you’d like to earn, your position will be closed automatically when your profit is more than or equals to this amount. Your profit may be more than the amount you entered depending on the market price at closing.","-178096090":"“Take profit” cannot be updated. You may update it only when “Deal cancellation” expires.","-206909651":"The entry spot is the market price when your contract is processed by our servers.","-1139774694":"<0>For Put:<1/>You will get a payout if the market price is lower than the strike price at the expiry time. Your payout will grow proportionally to the distance between the market and strike prices. You will start making a profit when the payout is higher than your stake. If the market price is equal to or above the strike price at the expiry time, there won’t be a payout.","-351875097":"Number of ticks","-138599872":"<0>For {{contract_type}}: Get a payout if {{index_name}} is {{strike_status}} than the strike price at the expiry time. Your payout is zero if the market is {{market_status}} or equal to the strike price at the expiry time. You will start making a profit when the payout is higher than your stake.","-2014059656":"higher","-149836494":"Your transaction reference number is {{transaction_id}}","-1382749084":"Go back to trading","-1231210510":"Tick","-1239477911":"second","-1585766960":"min","-1652791614":"mins","-1977959027":"hours","-8998663":"Digit: {{last_digit}} ","-1435392215":"About deal cancellation","-2017825013":"Got it","-1280319153":"Cancel your trade anytime within a chosen time-frame. Triggered automatically if your trade reaches the stop out level within the chosen time-frame.","-471757681":"Risk management","-843831637":"Stop loss","-771725194":"Deal Cancellation","-45873457":"NEW","-127118348":"Choose {{contract_type}}","-543478618":"Try checking your spelling or use a different term","-338707425":"Minimum duration is 1 day","-1003473648":"Duration: {{duration}} day","-700280380":"Deal cancel. fee","-741395299":"{{value}}","-194424366":"above","-1527492178":"Purchase Locked","-725375562":"You can lock/unlock the purchase button from the Settings menu","-601992465":"Accumulate","-30171993":"Your stake will grow by {{growth_rate}}% at every tick starting from the second tick, as long as the price remains within a range of ±{{tick_size_barrier}} from the previous tick price.","-1358367903":"Stake","-1918235233":"Min. stake","-1935239381":"Max. stake","-1930565757":"Your stake is a non-refundable one-time premium to purchase this contract. Your total profit/loss equals the contract value minus your stake.","-1513281069":"Barrier 2","-390994177":"Should be between {{min}} and {{max}}","-2055106024":"Toggle between advanced and simple duration settings","-1012793015":"End time","-2037881712":"Your contract will be closed automatically at the next available asset price on <0>.","-629549519":"Commission <0/>","-2131859340":"Stop out <0/>","-1686280757":"<0>{{commission_percentage}}% of (<1/> * {{multiplier}})","-1043117679":"When your current loss equals or exceeds {{stop_out_percentage}}% of your stake, your contract will be closed at the nearest available asset price.","-477998532":"Your contract is closed automatically when your loss is more than or equals to this amount.","-2008947191":"Your contract is closed automatically when your profit is more than or equal to this amount.","-339236213":"Multiplier","-857660728":"Strike Prices","-119134980":"<0>{{trade_type}}: You will get a payout if the market price is {{payout_status}} this price <0>at the expiry time. Otherwise, your payout will be zero.","-243332856":"Last digit stats for latest 1000 ticks for {{ underlying_name }}","-1900883796":"<0>{{trade_type}}: You will get a payout if the market is {{payout_status}} this price <0>at the expiry time. Otherwise, your payout will be zero.","-347156282":"Submit Proof","-461955353":"purchase price","-172348735":"profit","-1624674721":"contract type","-1644154369":"entry spot time","-510792478":"entry spot price","-1974651308":"exit spot time","-1600267387":"exit spot price","-514917720":"barrier","-2004386410":"Win","-1072292603":"No Change","-1631669591":"string","-1768939692":"number","-795152863":"green","-1640576332":"blue","-804983649":"yellow","-94281841":"red","-1242470654":"Earned money","-1429914047":"Low","-1893628957":"Open Time","-1896106455":"10 minutes","-999492762":"15 minutes","-1978767852":"30 minutes","-293628675":"1 hour","-385604445":"2 hours","-1965813351":"4 hours","-525321833":"1 day","-1691868913":"Touch/No Touch","-151151292":"Asians","-1048378719":"Reset Call/Reset Put","-1282312809":"High/Low Ticks","-1237186896":"Only Ups/Only Downs","-529846150":"Seconds","-2035315547":"Low barrier","-1635771697":"middle","-1529389221":"Histogram","-1819860668":"MACD","-1750896349":"D'Alembert","-102980621":"The Oscar's Grind Strategy is a low-risk positive progression strategy that first appeared in 1965. By using this strategy, the size of your contract will increase after successful trades, but remains unchanged after unsuccessful trades.","-462715374":"Untitled Bot","-2002533437":"Custom function","-215053350":"with:","-1257232389":"Specify a parameter name:","-1885742588":"with: ","-188442606":"function {{ function_name }} {{ function_params }} {{ dummy }}","-313112159":"This block is similar to the one above, except that this returns a value. The returned value can be assigned to a variable of your choice.","-1783320173":"Prematurely returns a value within a function","-1485521724":"Conditional return","-1482801393":"return","-46453136":"get","-1838027177":"first","-1182568049":"Get list item","-1675454867":"This block gives you the value of a specific item in a list, given the position of the item. It can also remove the item from the list.","-381501912":"This block creates a list of items from an existing list, using specific item positions.","-426766796":"Get sub-list","-1679267387":"in list {{ input_list }} find {{ first_or_last }} occurence of item {{ input_value }}","-2087996855":"This block gives you the position of an item in a given list.","-422008824":"Checks if a given list is empty","-1343887675":"This block checks if a given list is empty. It returns “True” if the list is empty, “False” if otherwise.","-1548407578":"length of {{ input_list }}","-1786976254":"This block gives you the total number of items in a given list.","-2113424060":"create list with item {{ input_item }} repeated {{ number }} times","-1955149944":"Repeat an item","-434887204":"set","-197957473":"as","-851591741":"Set list item","-1874774866":"ascending","-1457178757":"Sorts the items in a given list","-350986785":"Sort list","-324118987":"make text from list","-155065324":"This block creates a list from a given string of text, splitting it with the given delimiter. It can also join items in a list into a string of text.","-459051222":"Create list from text","-977241741":"List Statement","-451425933":"{{ break_or_continue }} of loop","-323735484":"continue with next iteration","-1592513697":"Break out/continue","-713658317":"for each item {{ variable }} in list {{ input_list }}","-1825658540":"Iterates through a given list","-952264826":"repeat {{ number }} times","-887757135":"Repeat (2)","-1608672233":"This block is similar to the block above, except that the number of times it repeats is determined by a given variable.","-533154446":"Repeat (1)","-1059826179":"while","-1893063293":"until","-279445533":"Repeat While/Until","-1003706492":"User-defined variable","-359097473":"set {{ variable }} to {{ value }}","-1588521055":"Sets variable value","-980448436":"Set variable","-1538570345":"Get the last trade information and result, then trade again.","-222725327":"Here is where you can decide if your bot should continue trading.","-1638446329":"Result is {{ win_or_loss }}","-1968029988":"Last trade result","-1588406981":"You can check the result of the last trade with this block.","-1459154781":"Contract Details: {{ contract_detail }}","-1652241017":"Reads a selected property from contract details list","-2082345383":"These blocks transfer control to the Purchase conditions block.","-172574065":"This block will transfer the control back to the Purchase conditions block, enabling you to purchase another contract.","-403103225":"restart","-837044282":"Ask Price {{ contract_type }}","-1033917049":"This block returns the purchase price for the selected trade type.","-1863737684":"2. Purchase conditions","-228133740":"Specify contract type and purchase conditions.","-1291088318":"Purchase conditions","-1098726473":"This block is mandatory. Only one copy of this block is allowed. You can place the Purchase block (see below) here as well as conditional blocks to define your purchase conditions.","-1777988407":"Payout {{ contract_type }}","-511116341":"This block returns the potential payout for the selected trade type","-1943211857":"Potential payout","-813464969":"buy","-53668380":"True if active contract can be sold before expiration at current market price","-43337012":"Sell profit/loss","-2112866691":"Returns the profit/loss from selling at market price","-2132417588":"This block gives you the potential profit or loss if you decide to sell your contract.","-1360483055":"set {{ variable }} to Bollinger Bands {{ band_type }} {{ dummy }}","-20542296":"Calculates Bollinger Bands (BB) from a list with a period","-1951109427":"Bollinger Bands (BB)","-857226052":"BB is a technical analysis indicator that’s commonly used by traders. The idea behind BB is that the market price stays within the upper and lower bands for 95% of the time. The bands are the standard deviations of the market price, while the line in the middle is a simple moving average line. If the price reaches either the upper or lower band, there’s a possibility of a trend reversal.","-325196350":"set {{ variable }} to Bollinger Bands Array {{ band_type }} {{ dummy }}","-199689794":"Similar to BB. This block gives you a choice of returning the values of either the lower band, higher band, or the SMA line in the middle.","-920690791":"Calculates Exponential Moving Average (EMA) from a list with a period","-960641587":"EMA is a type of moving average that places more significance on the most recent data points. It’s also known as the exponentially weighted moving average. EMA is different from SMA in that it reacts more significantly to recent price changes.","-1557584784":"set {{ variable }} to Exponential Moving Average Array {{ dummy }}","-32333344":"Calculates Moving Average Convergence Divergence (MACD) from a list","-628573413":"MACD is calculated by subtracting the long-term EMA (26 periods) from the short-term EMA (12 periods). If the short-term EMA is greater or lower than the long-term EMA than there’s a possibility of a trend reversal.","-1133676960":"Fast EMA Period {{ input_number }}","-883166598":"Period {{ input_period }}","-450311772":"set {{ variable }} to Relative Strength Index {{ dummy }}","-1861493523":"Calculates Relative Strength Index (RSI) list from a list of values with a period","-880048629":"Calculates Simple Moving Average (SMA) from a list with a period","-1150972084":"Market direction","-276935417":"This block is used to determine if the market price moves in the selected direction or not. It gives you a value of “True” or “False”.","-764931948":"in candle list get # from end {{ input_number }}","-924607337":"Returns the last digit of the latest tick","-560033550":"Returns the list of last digits of 1000 recent tick values","-74062476":"Make a List of {{ candle_property }} values in candles list with interval: {{ candle_interval_type }}","-1556495906":"Returns a list of specific values from a candle list according to selected time interval","-166816850":"Create a list of candle values (1)","-1261436901":"Candles List","-1174859923":"Read the selected candle value","-1972165119":"Read candle value (1)","-1956100732":"You can use this block to analyze the ticks, regardless of your trades","-443243232":"The content of this block is called on every tick. Place this block outside of any root block.","-641399277":"Last Tick","-1628954567":"Returns the value of the last tick","-1332756793":"This block gives you the value of the last tick.","-2134440920":"Last Tick String","-1466340125":"Tick value","-467913286":"Tick value Description","-785831237":"This block gives you a list of the last 1000 tick values.","-1546430304":"Tick List String Description","-1788626968":"Returns \"True\" if the given candle is black","-436010611":"Make a list of {{ candle_property }} values from candles list {{ candle_list }}","-1384340453":"Returns a list of specific values from a given candle list","-584859539":"Create a list of candle values (2)","-2010558323":"Read {{ candle_property }} value in candle {{ input_candle }}","-2846417":"This block gives you the selected candle value.","-1587644990":"Read candle value (2)","-1202212732":"This block returns account balance","-1737837036":"Account balance","-1963883840":"Put your blocks in here to prevent them from being removed","-1284013334":"Use this block if you want some instructions to be ignored when your bot runs. Instructions within this block won’t be executed.","-1217253851":"Log","-1987568069":"Warn","-104925654":"Console","-1956819233":"This block displays messages in the developer's console with an input that can be either a string of text, a number, boolean, or an array of data.","-1450461842":"Load block from URL: {{ input_url }}","-1088614441":"Loads blocks from URL","-1747943728":"Loads from URL","-2105753391":"Notify Telegram {{ dummy }} Access Token: {{ input_access_token }} Chat ID: {{ input_chat_id }} Message: {{ input_message }}","-1008209188":"Sends a message to Telegram","-1218671372":"Displays a notification and optionally play selected sound","-2099284639":"This block gives you the total profit/loss of your trading strategy since your bot started running. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-683825404":"Total Profit String","-718220730":"Total Profit String Description","-1861858493":"Number of runs","-264195345":"Returns the number of runs","-303451917":"This block gives you the total number of times your bot has run. You can reset this by clicking “Clear stats” on the Transaction Stats window, or by refreshing this page in your browser.","-2132861129":"Conversion Helper Block","-74095551":"Seconds Since Epoch","-15528039":"Returns the number of seconds since January 1st, 1970","-729807788":"This block returns the number of seconds since January 1st, 1970.","-1370107306":"{{ dummy }} {{ stack_input }} Run after {{ number }} second(s)","-558838192":"Delayed run","-1975250999":"This block converts the number of seconds since the Unix Epoch (1 January 1970) into a string of text representing the date and time.","-702370957":"Convert to date/time","-982729677":"Convert to timestamp","-311268215":"This block converts a string of text that represents the date and time into seconds since the Unix Epoch (1 January 1970). The time and time zone offset are optional. Example: 2019-01-01 21:03:45 GMT+0800 will be converted to 1546347825.","-1797602591":"Stop Loss: {{ currency }} {{ stop_loss }}","-1214929127":"Stop loss must be a positive number.","-780745489":"If the contract type is “Both”, then the Purchase Conditions should include both Rise and Fall using the “Conditional Block\"","-2142851225":"Multiplier trade options","-625636913":"Amount must be a positive number.","-1466383897":"Duration: {{ duration_unit }} {{ duration_value }}","-440702280":"Trade options","-1193894978":"Define your trade options such as duration and stake. Some options are only applicable for certain trade types.","-46523443":"Duration value is not allowed. To run the bot, please enter a value between {{min}} to {{max}}.","-1483427522":"Trade Type: {{ trade_type_category }} > {{ trade_type }}","-323348124":"1. Trade parameters","-1671903503":"Run once at start:","-783173909":"Trade options:","-376956832":"Here is where you define the parameters of your contract.","-1244007240":"if {{ condition }} then","-1577206704":"else if","-33796979":"true","-1434883449":"This is a single block that returns a boolean value, either true or false.","-1946404450":"Compares two values","-979918560":"This block converts the boolean value (true or false) to its opposite.","-2047257743":"Null","-1274387519":"Performs selected logic operation","-766386234":"This block performs the \"AND\" or the \"OR\" logic operation.","-790995537":"test {{ condition }}","-1860211657":"if false {{ return_value }}","-1643760249":"This block tests if a given value is true or false and returns “True” or “False” accordingly.","-1551875333":"Test value","-52486882":"Arithmetical operations","-1010436425":"This block adds the given number to the selected variable","-999773703":"Change variable","-1272091683":"Mathematical constants","-1396629894":"constrain {{ number }} low {{ low_number }} high {{ high_number }}","-425224412":"This block constrains a given number so that it is within a set range.","-2072551067":"Constrain within a range","-43523220":"remainder of {{ number1 }} ÷ {{ number2 }}","-1291857083":"Returns the remainder after a division","-592154850":"Remainder after division","-736665095":"Returns the remainder after the division of the given numbers.","-1266992960":"Math Number Description","-77191651":"{{ number }} is {{ type }}","-817881230":"even","-142319891":"odd","-1000789681":"whole","-1735674752":"Test a number","-1017805068":"This block tests a given number according to the selection and it returns a value of “True” or “False”. Available options: Even, Odd, Prime, Whole, Positive, Negative, Divisible","-1858332062":"Number","-1053492479":"Enter an integer or fractional number into this block. Please use `.` as a decimal separator for fractional numbers.","-927097011":"sum","-1653202295":"max","-1555878023":"average","-1748351061":"mode","-992067330":"Aggregate operations","-1691561447":"This block gives you a random fraction between 0.0 to 1.0","-523625686":"Random fraction number","-933024508":"Rounds a given number to an integer","-1656927862":"This block rounds a given number according to the selection: round, round up, round down.","-1495304618":"absolute","-61210477":"Operations on a given number","-181644914":"This block performs the selected operations to a given number.","-840732999":"to {{ variable }} append text {{ input_text }}","-1469497908":"Appends a given text to a variable","-1851366276":"Text Append","-1666316828":"Appends a given text to a variable.","-1902332770":"Transform {{ input_text }} to {{ transform_type }}","-1489004405":"Title Case","-904432685":"Changes text case accordingly","-882381096":"letter #","-1027605069":"letter # from end","-2066990284":"random letter","-337089610":"in text {{ input_text1 }} find {{ first_or_last }} occurence of text {{ input_text2 }}","-1966694141":"Searches through a string of text for a specific occurrence of a given character or word, and returns the position.","-697543841":"Text join","-141160667":"length of {{ input_text }}","-1133072029":"Text String Length","-1109723338":"print {{ input_text }}","-736668830":"Print","-1821552998":"trim spaces from {{ side }} of {{ input_text }}","-801766026":"right side","-474779821":"Trims spaces","-1219239717":"One or more mandatory blocks are missing from your workspace. Please add the required block(s) and then try again.","-250761331":"One or more mandatory blocks are disabled in your workspace. Please enable the required block(s) and then try again.","-1687036846":"Download block","-1266781295":"Expand","-894560707":"function","-1867119688":"Duplicate","-610728049":"Rearrange Vertically","-2033146714":"Collapse All Blocks","-958601558":"Delete Block","-1193267384":"Detach Block","-1750478127":"New variable name","-1061878051":"Y","-2047029150":"Unable to load the block file.","-1410769167":"Target must be an XML file","-609157479":"This URL is already loaded","-241945454":"Proposals are not ready","-1087890592":"Maximum loss amount reached","-1030545878":"You are rate limited for: {{ message_type }}, retrying in {{ delay }}s (ID: {{ request }})","-490766438":"You are disconnected, retrying in {{ delay }}s","-1389975609":"unknown","-1900515692":"Duration must be a positive integer","-245297595":"Please login","-1445046468":"Given candle is not valid","-1891622945":"{{hourPast}}h ago","-1904030160":"Transaction performed by (App ID: {{app_id}})","-513103225":"Transaction time","-2066666313":"Credit/Debit","-2140412463":"Buy price","-1981004241":"Sell time","-600828210":"Indicative profit/loss","-706219815":"Indicative price","-3423966":"Take profit<0 />Stop loss","-2082644096":"Current stake","-538215347":"Net deposits","-280147477":"All transactions","-130601012":"Please select duration","-232254547":"Custom","-1577570698":"Start date","-1251526905":"Last 7 days","-1131753095":"The {{trade_type_name}} contract details aren't currently available. We're working on making them available soon.","-360975483":"You've made no transactions of this type during this period.","-2092611555":"Sorry, this app is unavailable in your current location.","-1488537825":"If you have an account, log in to continue.","-555592125":"Unfortunately, trading options isn't possible in your country","-1571816573":"Sorry, trading is unavailable in your current location.","-1603581277":"minutes","-922253974":"Rise/Fall","-1361254291":"Higher/Lower","-335816381":"Ends In/Ends Out","-1789807039":"Asian Up/Asian Down","-330437517":"Matches/Differs","-657360193":"Over/Under","-558031309":"High Tick/Low Tick","-123659792":"Vanillas","-1714959941":"This chart display is not ideal for tick contracts","-1254554534":"Please change the chart duration to tick for a better trading experience.","-1658230823":"Contract was sold for <0 />.","-1905867404":"Contract cancelled"} \ No newline at end of file diff --git a/packages/translations/src/translations/ach.json b/packages/translations/src/translations/ach.json index 894ff70c54fd..6be45b2ce4da 100644 --- a/packages/translations/src/translations/ach.json +++ b/packages/translations/src/translations/ach.json @@ -391,6 +391,7 @@ "489768502": "crwdns1259661:0crwdne1259661:0", "491603904": "crwdns1259663:0crwdne1259663:0", "492198410": "crwdns1259665:0crwdne1259665:0", + "492566838": "crwdns1935201:0crwdne1935201:0", "497518317": "crwdns1259669:0crwdne1259669:0", "498144457": "crwdns1574319:0crwdne1574319:0", "498562439": "crwdns1259671:0crwdne1259671:0", @@ -433,6 +434,7 @@ "551569133": "crwdns1259745:0crwdne1259745:0", "554410233": "crwdns1259747:0crwdne1259747:0", "555351771": "crwdns1259749:0crwdne1259749:0", + "555881991": "crwdns1935203:0crwdne1935203:0", "556264438": "crwdns1259753:0crwdne1259753:0", "559224320": "crwdns1259755:0crwdne1259755:0", "561982839": "crwdns1259757:0crwdne1259757:0", @@ -557,12 +559,14 @@ "693396140": "crwdns1259969:0crwdne1259969:0", "696870196": "crwdns1259971:0crwdne1259971:0", "697630556": "crwdns1259973:0crwdne1259973:0", + "698037001": "crwdns1935205:0crwdne1935205:0", "698748892": "crwdns1259975:0crwdne1259975:0", "699159918": "crwdns1259977:0crwdne1259977:0", "700259824": "crwdns1259979:0crwdne1259979:0", "701034660": "crwdns1259981:0crwdne1259981:0", "701462190": "crwdns1259983:0crwdne1259983:0", "701647434": "crwdns1259985:0crwdne1259985:0", + "702451070": "crwdns1935207:0crwdne1935207:0", "705299518": "crwdns1259987:0crwdne1259987:0", "706413212": "crwdns1787777:0{{regulation}}crwdnd1787777:0{{currency}}crwdnd1787777:0{{loginid}}crwdne1787777:0", "706727320": "crwdns1259989:0crwdne1259989:0", @@ -892,6 +896,7 @@ "1096175323": "crwdns1260583:0crwdne1260583:0", "1098147569": "crwdns1335127:0crwdne1335127:0", "1098622295": "crwdns1260585:0crwdne1260585:0", + "1100133959": "crwdns1935209:0crwdne1935209:0", "1100870148": "crwdns1260587:0crwdne1260587:0", "1101560682": "crwdns1260589:0crwdne1260589:0", "1101712085": "crwdns1260591:0crwdne1260591:0", @@ -1182,6 +1187,7 @@ "1422060302": "crwdns1261117:0crwdne1261117:0", "1422129582": "crwdns1261119:0crwdne1261119:0", "1423082412": "crwdns1261121:0crwdne1261121:0", + "1423296980": "crwdns1935211:0crwdne1935211:0", "1424741507": "crwdns1261123:0crwdne1261123:0", "1424779296": "crwdns1261125:0crwdne1261125:0", "1428657171": "crwdns1774589:0crwdne1774589:0", @@ -1200,6 +1206,7 @@ "1442747050": "crwdns1261151:0{{profit}}crwdne1261151:0", "1442840749": "crwdns1261153:0crwdne1261153:0", "1443478428": "crwdns1261155:0crwdne1261155:0", + "1444843056": "crwdns1935213:0crwdne1935213:0", "1445592224": "crwdns1261157:0crwdne1261157:0", "1446742608": "crwdns1742053:0crwdne1742053:0", "1449462402": "crwdns1261159:0crwdne1261159:0", @@ -1529,6 +1536,7 @@ "1817154864": "crwdns1261731:0crwdne1261731:0", "1820242322": "crwdns1261733:0crwdne1261733:0", "1820332333": "crwdns1261735:0crwdne1261735:0", + "1821818748": "crwdns1935215:0crwdne1935215:0", "1823177196": "crwdns1261737:0crwdne1261737:0", "1824193700": "crwdns1261739:0crwdne1261739:0", "1824292864": "crwdns1781081:0crwdne1781081:0", @@ -1582,6 +1590,7 @@ "1873838570": "crwdns1261829:0crwdne1261829:0", "1874481756": "crwdns1261831:0crwdne1261831:0", "1874756442": "crwdns1261833:0crwdne1261833:0", + "1876015808": "crwdns1935217:0crwdne1935217:0", "1876325183": "crwdns1261835:0crwdne1261835:0", "1877225775": "crwdns1261837:0crwdne1261837:0", "1877272122": "crwdns1822829:0crwdne1822829:0", @@ -1619,6 +1628,7 @@ "1914014145": "crwdns1261895:0crwdne1261895:0", "1914270645": "crwdns1261897:0{{ candle_interval_type }}crwdne1261897:0", "1914725623": "crwdns1261899:0crwdne1261899:0", + "1917178459": "crwdns1935219:0crwdne1935219:0", "1917523456": "crwdns1261901:0crwdne1261901:0", "1917804780": "crwdns1261903:0crwdne1261903:0", "1918633767": "crwdns1261905:0crwdne1261905:0", @@ -1637,7 +1647,6 @@ "1924365090": "crwdns1261927:0crwdne1261927:0", "1924765698": "crwdns1261929:0crwdne1261929:0", "1925090823": "crwdns1261931:0{{clients_country}}crwdne1261931:0", - "1927244779": "crwdns1261933:0crwdne1261933:0", "1928930389": "crwdns1261935:0crwdne1261935:0", "1929309951": "crwdns1261937:0crwdne1261937:0", "1929379978": "crwdns1719441:0crwdne1719441:0", @@ -1830,6 +1839,9 @@ "2145995536": "crwdns159496:0crwdne159496:0", "2146336100": "crwdns69654:0%1crwdnd69654:0%2crwdne69654:0", "2146892766": "crwdns124358:0crwdne124358:0", + "-1515286538": "crwdns167287:0crwdne167287:0", + "-477761028": "crwdns1935221:0crwdne1935221:0", + "-1466346630": "crwdns1935223:0crwdne1935223:0", "-612174191": "crwdns117276:0crwdne117276:0", "-242734402": "crwdns165991:0{{max}}crwdne165991:0", "-378415317": "crwdns123922:0crwdne123922:0", @@ -2013,6 +2025,7 @@ "-213009361": "crwdns121234:0crwdne121234:0", "-1214803297": "crwdns160024:0crwdne160024:0", "-526636259": "crwdns80835:0crwdne80835:0", + "-1694758788": "crwdns1935225:0crwdne1935225:0", "-1030759620": "crwdns80975:0crwdne80975:0", "-1196936955": "crwdns1445527:0crwdne1445527:0", "-1286823855": "crwdns1445529:0crwdne1445529:0", @@ -2081,7 +2094,6 @@ "-1088324715": "crwdns1092150:0crwdne1092150:0", "-329713179": "crwdns70290:0crwdne70290:0", "-1176889260": "crwdns167285:0crwdne167285:0", - "-1515286538": "crwdns167287:0crwdne167287:0", "-1785463422": "crwdns81305:0crwdne81305:0", "-78467788": "crwdns167289:0crwdne167289:0", "-1117345066": "crwdns167293:0crwdne167293:0", @@ -2183,7 +2195,6 @@ "-863770104": "crwdns1335205:0crwdne1335205:0", "-1292808093": "crwdns1335207:0crwdne1335207:0", "-1458676679": "crwdns81199:0crwdne81199:0", - "-1166111912": "crwdns166005:0{{ permitted_characters }}crwdne166005:0", "-884768257": "crwdns81205:0crwdne81205:0", "-2113555886": "crwdns81101:0crwdne81101:0", "-874280157": "crwdns168569:0crwdne168569:0", @@ -2445,8 +2456,8 @@ "-172277021": "crwdns959274:0crwdne959274:0", "-1624999813": "crwdns959276:0crwdne959276:0", "-197251450": "crwdns168863:0{{currency_code}}crwdne168863:0", - "-1900848111": "crwdns168859:0{{currency_code}}crwdne168859:0", - "-749765720": "crwdns168861:0{{currency_code}}crwdne168861:0", + "-781389987": "crwdns1935227:0{{regulation_text}}crwdnd1935227:0{{currency_code}}crwdnd1935227:0{{loginid}}crwdne1935227:0", + "-474666134": "crwdns1935229:0{{currency_code}}crwdnd1935229:0{{loginid}}crwdne1935229:0", "-803546115": "crwdns168867:0crwdne168867:0", "-1463156905": "crwdns161278:0crwdne161278:0", "-1077304626": "crwdns164877:0{{currency}}crwdne164877:0", @@ -3077,7 +3088,6 @@ "-352838513": "crwdns1855981:0{{regulation}}crwdnd1855981:0{{active_real_regulation}}crwdnd1855981:0{{regulation}}crwdne1855981:0", "-1858915164": "crwdns1787783:0crwdne1787783:0", "-162753510": "crwdns170800:0crwdne170800:0", - "-7381040": "crwdns1787785:0crwdne1787785:0", "-1208519001": "crwdns1787787:0crwdne1787787:0", "-175369516": "crwdns163356:0crwdne163356:0", "-939154994": "crwdns1175914:0crwdne1175914:0", diff --git a/packages/translations/src/translations/ar.json b/packages/translations/src/translations/ar.json index 0d37ae4fe0df..4ad58f746678 100644 --- a/packages/translations/src/translations/ar.json +++ b/packages/translations/src/translations/ar.json @@ -391,6 +391,7 @@ "489768502": "تغيير كلمة مرور المستثمر", "491603904": "متصفح غير معتمد", "492198410": "تأكد من أن كل شيء واضح", + "492566838": "Taxpayer identification number", "497518317": "وظيفة تقوم بإرجاع قيمة", "498144457": "فاتورة مرافق حديثة (مثل الكهرباء أو الماء أو الغاز)", "498562439": "أو", @@ -433,6 +434,7 @@ "551569133": "تعرف على المزيد حول حدود التداول", "554410233": "هذه هي أفضل 10 كلمات مرور شائعة", "555351771": "بعد تحديد معايير التجارة وخيارات التداول، قد ترغب في توجيه الروبوت الخاص بك لشراء العقود عند استيفاء شروط محددة. للقيام بذلك، يمكنك استخدام الكتل الشرطية وكتل المؤشرات لمساعدة الروبوت الخاص بك على اتخاذ القرارات.", + "555881991": "National Identity Number Slip", "556264438": "فترة زمنية", "559224320": "أداة «السحب والإسقاط» الكلاسيكية الخاصة بنا لإنشاء روبوتات التداول، والتي تتميز بمخططات تداول منبثقة، للمستخدمين المتقدمين.", "561982839": "قم بتغيير عملتك", @@ -490,10 +492,10 @@ "619407328": "هل تريد بالتأكيد إلغاء الارتباط من {{identifier_title}}؟", "623192233": "يرجى إكمال <0>اختبار الملاءمة للوصول إلى أمين الصندوق الخاص بك.", "623542160": "مصفوفة المتوسط المتحرك الأسي (EMAA)", - "625571750": "مكان الدخول:", + "625571750": "نقطة الدخول ", "626175020": "مضاعف الانحراف المعياري لأعلى {{ input_number }}", "626809456": "إعادة إرسال", - "627292452": "لم <0>يستوف إثبات الهوية أو إثبات العنوان متطلباتنا. يرجى التحقق من بريدك الإلكتروني للحصول على مزيد من التعليمات.", + "627292452": "لم <0>يلبي إثبات الهوية أو إثبات العنوان متطلباتنا. يرجى التحقق من بريدك الإلكتروني للحصول على مزيد من التعليمات.", "627814558": "تقوم هذه الكتلة بإرجاع قيمة عندما يكون الشرط صحيحًا. استخدم هذه الكتلة داخل أي من كتل الوظائف أعلاه.", "628193133": "معرف الحساب", "629145209": "في حالة تحديد عملية «AND»، تقوم الكتلة بإرجاع «True» فقط إذا كانت القيمتان المعينتين «True»", @@ -533,13 +535,13 @@ "661759508": "على أساس المعلومات المقدمة فيما يتعلق بمعرفتك وخبرتك، نعتبر أن الاستثمارات المتاحة عبر هذا الموقع ليست مناسبة لك.<0/><0/>", "662578726": "متاح", "662609119": "قم بتنزيل تطبيق MT5", - "665089217": "يرجى تقديم <0>إثبات الهوية الخاص بك لمصادقة حسابك والوصول إلى أمين الصندوق الخاص بك.", + "665089217": "يرجى تقديم <0>إثبات الهوية الخاص بك لتوثيق حسابك والوصول إلى الكاشير الخاص بك.", "665777772": "XLM/دولار أمريكي", "665872465": "في المثال أدناه، يتم تحديد سعر الافتتاح، والذي يتم تعيينه بعد ذلك لمتغير يسمى «op».", "666724936": "يرجى إدخال رقم هوية صالح.", - "672008428": "زيغ/دولار أمريكي", - "673915530": "الولاية القضائية واختيار القانون", - "674973192": "استخدم كلمة المرور هذه لتسجيل الدخول إلى حسابات Deriv MT5 الخاصة بك على تطبيقات سطح المكتب والويب والجوال.", + "672008428": "Zcach/دولار أمريكي", + "673915530": "السلطة القضائية واختيار القانون", + "674973192": "استخدم كلمة المرور هذه لتسجيل الدخول إلى حسابات Deriv MT5 الخاصة بك على تطبيقات الحاسوب والويب والجوال.", "676159329": "تعذر التبديل إلى الحساب الافتراضي.", "677918431": "السوق: {{ input_market }} > {{ input_submarket }} > {{ input_symbol }}", "678517581": "الوحدات", @@ -548,34 +550,36 @@ "681926004": "مثال على مستند غير واضح", "682056402": "المضاعف التنازلي للانحراف المعياري {{ input_number }}", "684282133": "أدوات التداول", - "685391401": "إذا كنت تواجه مشكلة في تسجيل الدخول، فأخبرنا بذلك عبر <0>الدردشة", + "685391401": "إذا كنت تواجه مشكلة في تسجيل الدخول، الرجاء إخبارنا \nبذلك عبر <0>الدردشة", "686312916": "حسابات التداول", "687212287": "المبلغ هو حقل مطلوب.", - "688510664": "لديك {{two_fa_status}} 2FA على هذا الجهاز. سيتم تسجيل خروجك من حسابك على الأجهزة الأخرى (إن وجدت). استخدم كلمة المرور ورمز 2FA لتسجيل الدخول مرة أخرى.", + "688510664": "لديك {{two_fa_status}} 2FA(توثيق ذو عاملين) على هذا الجهاز. سيتم تسجيل خروجك من حسابك على الأجهزة الأخرى (إن وجدت). استخدم كلمة المرور ورمز 2FA لتسجيل الدخول مرة أخرى.", "689137215": "سعر الشراء", "691956534": "<0>لقد قمت بإضافة {{currency}} حساب. <0>قم بالإيداع الآن لبدء التداول.", "693396140": "إلغاء الصفقة (منتهية الصلاحية)", "696870196": "- وقت الفتح: طابع وقت الافتتاح", "697630556": "هذا السوق مغلق حاليًا.", + "698037001": "National Identity Number", "698748892": "دعونا نحاول ذلك مرة أخرى", "699159918": "1. تقديم الشكاوى", "700259824": "عملة الحساب", - "701034660": "ما زلنا نقوم بمعالجة طلب السحب الخاص بك.<0 /> يرجى الانتظار حتى تكتمل المعاملة قبل إلغاء تنشيط حسابك.", - "701462190": "مكان الدخول", + "701034660": "ما زلنا نقوم بمعالجة طلب السحب الخاص بك.<0 /> يرجى الانتظار حتى تكتمل المعاملة قبل إلغاء حسابك.", + "701462190": "نقطة الدخول ", "701647434": "ابحث عن سلسلة", + "702451070": "National ID (No Photo)", "705299518": "بعد ذلك، قم بتحميل صفحة جواز سفرك التي تحتوي على صورتك.", - "706413212": "للوصول إلى الصراف، أنت الآن في حساب {{regulation}} {{currency}} ({{loginid}}) الخاص بك.", + "706413212": "للوصول إلى الصراف (الكاشير)، أنت الآن في حساب {{regulation}} {{currency}} ({{loginid}}) الخاص بك.", "706727320": "تردد تداول الخيارات الثنائية", "706755289": "تؤدي هذه الكتلة وظائف مثلثية.", "707662672": "{{unblock_date}} في {{unblock_time}}", "708055868": "رقم رخصة القيادة", "710123510": "كرر {{ while_or_until }} {{ boolean }}", "711999057": "تم بنجاح", - "712101776": "التقط صورة لصفحة صور جواز السفر", + "712101776": "التقط صورة لصفحة جواز سفرك التي تحتوي على صورتك.", "712635681": "تمنحك هذه المجموعة قيمة الشمعة المحددة من قائمة الشموع. يمكنك الاختيار من بين سعر الفتح وسعر الإغلاق والسعر المرتفع والسعر المنخفض ووقت الفتح.", "713054648": "الإرسال", "714080194": "إرسال إثبات", - "714746816": "تطبيق ميتاتريدر 5 لنظام التشغيل Windows", + "714746816": "تطبيق MetaTrader 5 لنظام التشغيل Windows App", "715841616": "يرجى إدخال رقم هاتف صالح (على سبيل المثال +15417541234).", "716428965": "(مغلق)", "718504300": "الرمز البريدي/البريدي", @@ -892,6 +896,7 @@ "1096175323": "ستحتاج إلى حساب Deriv", "1098147569": "شراء سلع أو أسهم شركة.", "1098622295": "تبدأ «i» بقيمة 1، وستتم زيادتها بمقدار 2 في كل تكرار. سوف تتكرر الحلقة حتى تصل «i» إلى قيمة 12، ثم يتم إنهاء الحلقة.", + "1100133959": "National ID", "1100870148": "لمعرفة المزيد حول حدود الحساب وكيفية تطبيقها، يرجى الانتقال إلى <0>مركز المساعدة.", "1101560682": "كومة", "1101712085": "سعر الشراء", @@ -1182,6 +1187,7 @@ "1422060302": "تستبدل هذه الكتلة عنصرًا معينًا في القائمة بعنصر آخر محدد. يمكن أيضًا إدراج العنصر الجديد في القائمة في موضع محدد.", "1422129582": "يجب أن تكون جميع التفاصيل واضحة - لا شيء غير واضح", "1423082412": "الرقم الأخير", + "1423296980": "Enter your SSNIT number", "1424741507": "شاهد المزيد", "1424779296": "إذا كنت قد استخدمت برامج الروبوت مؤخرًا ولكنك لا تراها في هذه القائمة، فقد يرجع ذلك إلى أنك:", "1428657171": "يمكنك فقط إجراء الودائع. يرجى الاتصال بنا عبر <0>الدردشة الحية لمزيد من المعلومات.", @@ -1200,6 +1206,7 @@ "1442747050": "مبلغ الخسارة: <0>{{profit}}", "1442840749": "عدد صحيح عشوائي", "1443478428": "الاقتراح المحدد غير موجود", + "1444843056": "Corporate Affairs Commission", "1445592224": "لقد أعطيتنا بطريق الخطأ عنوان بريد إلكتروني آخر (عادةً عنوان عمل أو شخصي بدلاً من العنوان الذي قصدته).", "1446742608": "انقر هنا إذا كنت بحاجة إلى تكرار هذه الجولة.", "1449462402": "قيد المراجعة", @@ -1529,6 +1536,7 @@ "1817154864": "تمنحك هذه الكتلة رقمًا عشوائيًا من داخل نطاق محدد.", "1820242322": "على سبيل المثال الولايات المتحدة", "1820332333": "اشحن رصيدك", + "1821818748": "Enter Driver License Reference number", "1823177196": "الأكثر شهرة", "1824193700": "تمنحك هذه المجموعة الرقم الأخير من أحدث قيمة للتأشير.", "1824292864": "اتصل", @@ -1582,6 +1590,7 @@ "1873838570": "يرجى التحقق من عنوانك", "1874481756": "استخدم هذه المجموعة لشراء العقد المحدد الذي تريده. يمكنك إضافة كتل شراء متعددة مع كتل شرطية لتحديد شروط الشراء الخاصة بك. لا يمكن استخدام هذه الكتلة إلا ضمن مجموعة شروط الشراء.", "1874756442": "جزر فيرجن البريطانية", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "الدقائق", "1877225775": "تم التحقق من إثبات العنوان الخاص بك", "1877272122": "لقد قمنا بتحديد الحد الأقصى للدفع لكل عقد، وهو يختلف لكل أصل. سيتم إغلاق عقدك تلقائيًا عند الوصول إلى الحد الأقصى للدفع.", @@ -1619,6 +1628,7 @@ "1914014145": "اليوم", "1914270645": "الفاصل الزمني الافتراضي للشمعة: {{ candle_interval_type }}", "1914725623": "قم بتحميل الصفحة التي تحتوي على صورتك.", + "1917178459": "Bank Verification Number", "1917523456": "ترسل هذه المجموعة رسالة إلى قناة Telegram. ستحتاج إلى إنشاء روبوت Telegram الخاص بك لاستخدام هذه الكتلة.", "1917804780": "ستفقد الوصول إلى حساب الخيارات الخاص بك عندما يتم إغلاقه، لذا تأكد من سحب جميع أموالك. (إذا كان لديك حساب CFDs، يمكنك أيضًا تحويل الأموال من حساب الخيارات الخاص بك إلى حساب CFDs الخاص بك.)", "1918633767": "السطر الثاني من العنوان ليس بالتنسيق المناسب.", @@ -1637,7 +1647,6 @@ "1924365090": "ربما في وقت لاحق", "1924765698": "مكان الولادة*", "1925090823": "عذرًا، التداول غير متاح في {{clients_country}}.", - "1927244779": "استخدم الأحرف الخاصة التالية فقط:., ':; () @ #/ -", "1928930389": "جنيه استرليني/كرونة", "1929309951": "حالة التوظيف", "1929379978": "قم بالتبديل بين الحسابات التجريبية والحسابات الحقيقية.", @@ -1830,6 +1839,9 @@ "2145995536": "إنشاء حساب جديد", "2146336100": "في النص %1 احصل على %2", "2146892766": "تجربة تداول الخيارات الثنائية", + "-1515286538": "يرجى إدخال رقم المستند الخاص بك. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "السطر الأول من العنوان مطلوب", "-242734402": "{{max}} حرف فقط، من فضلك.", "-378415317": "الدولة مطلوبة", @@ -2013,6 +2025,7 @@ "-213009361": "مصادقة ثنائية", "-1214803297": "مسار لوحة التحكم فقط", "-526636259": "خطأ 404", + "-1694758788": "Enter your document number", "-1030759620": "مسؤولون حكوميون", "-1196936955": "قم بتحميل لقطة شاشة لاسمك وعنوان بريدك الإلكتروني من قسم المعلومات الشخصية.", "-1286823855": "قم بتحميل كشف فاتورة الهاتف المحمول الخاص بك مع إظهار اسمك ورقم هاتفك.", @@ -2081,7 +2094,6 @@ "-1088324715": "سنراجع مستنداتك ونخطرك بحالتها في غضون 1-3 أيام عمل.", "-329713179": "حسنا", "-1176889260": "يرجى تحديد نوع المستند.", - "-1515286538": "يرجى إدخال رقم المستند الخاص بك. ", "-1785463422": "تحقق من هويتك", "-78467788": "يرجى تحديد نوع المستند وإدخال رقم الهوية.", "-1117345066": "اختر نوع المستند", @@ -2183,7 +2195,6 @@ "-863770104": "يرجى ملاحظة أنه بالنقر فوق «موافق»، قد تعرض نفسك للمخاطر. قد لا تكون لديك المعرفة أو الخبرة لتقييم هذه المخاطر أو التخفيف منها بشكل صحيح، والتي قد تكون كبيرة، بما في ذلك مخاطر خسارة المبلغ الذي استثمرته بالكامل.", "-1292808093": "تجربة التداول", "-1458676679": "يجب إدخال 2-50 حرفًا.", - "-1166111912": "استخدم الأحرف الخاصة التالية فقط: {{ permitted_characters }}", "-884768257": "يجب إدخال 0-35 حرفًا.", "-2113555886": "يُسمح فقط بالحروف والأرقام والمسافة والواصلة.", "-874280157": "رقم التعريف الضريبي هذا (TIN) غير صالح. يمكنك الاستمرار في استخدامه، ولكن لتسهيل عمليات الدفع المستقبلية، ستكون هناك حاجة إلى معلومات ضريبية صالحة.", @@ -2445,8 +2456,8 @@ "-172277021": "أمين الصندوق مغلق لعمليات السحب", "-1624999813": "يبدو أنه ليس لديك عمولات لسحبها في الوقت الحالي. يمكنك إجراء عمليات سحب بمجرد استلام عمولاتك.", "-197251450": "لا تريد التداول بـ {{currency_code}}؟ يمكنك فتح حساب عملة مشفرة آخر.", - "-1900848111": "هذا هو حساب {{currency_code}} الخاص بك.", - "-749765720": "تم تعيين عملة الحساب النقدي الخاصة بك على {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "إدارة حساباتك ", "-1463156905": "تعرف على المزيد حول طرق الدفع", "-1077304626": "المبلغ ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "يبدو أنه ليس لديك حساب {{تنظيم}} حقيقي. لاستخدام أمين الصندوق ، قم بالتبديل إلى حسابك الحقيقي {{active_real_regulation}} ، أو احصل على حساب حقيقي {{تنظيم}}.", "-1858915164": "هل أنت مستعد للإيداع والتداول بشكل حقيقي؟", "-162753510": "إضافة حساب حقيقي", - "-7381040": "ابق في العرض التوضيحي", "-1208519001": "تحتاج إلى حساب Deriv حقيقي للوصول إلى أمين الصندوق.", "-175369516": "مرحبًا بكم في Deriv X", "-939154994": "مرحبًا بك في لوحة معلومات Deriv MT5", diff --git a/packages/translations/src/translations/bn.json b/packages/translations/src/translations/bn.json index f8c817e13ec9..8c596ee5adae 100644 --- a/packages/translations/src/translations/bn.json +++ b/packages/translations/src/translations/bn.json @@ -391,6 +391,7 @@ "489768502": "বিনিয়োগকারী পাসওয়ার্ড পরিবর্তন করুন", "491603904": "অসমর্থিত ব্রাউজার", "492198410": "সবকিছু পরিষ্কার হয় তা নিশ্চিত করুন", + "492566838": "Taxpayer identification number", "497518317": "ফাংশন যা একটি মান ফেরত দেয়", "498144457": "একটি সাম্প্রতিক ইউটিলিটি বিল (যেমন বিদ্যুৎ, পানি বা গ্যাস)", "498562439": "অথবা", @@ -433,6 +434,7 @@ "551569133": "ট্রেডিং সীমা সম্পর্কে আরও জানুন", "554410233": "এটি একটি টপ-১০ সাধারণ পাসওয়ার্ড", "555351771": "ট্রেড প্যারামিটার এবং ট্রেড অপশন সংজ্ঞায়িত করার পরে, আপনি নির্দিষ্ট শর্ত পূরণ করা হয় যখন চুক্তি ক্রয় করার জন্য আপনার বট নির্দেশ করতে পারেন। যে কাজ করার জন্য আপনি ব্যবহার করতে পারেন শর্তাধীন ব্লক এবং সূচক ব্লক সাহায্য করার জন্য আপনার বট সিদ্ধান্ত নিতে।", + "555881991": "National Identity Number Slip", "556264438": "সময়ের ব্যবধান", "559224320": "উন্নত ব্যবহারকারীদের জন্য পপ-আপ ট্রেডিং চার্ট সমন্বিত ট্রেডিং বট তৈরির জন্য আমাদের ক্লাসিক “ড্র্যাগ-এন্ড-ড্রপ” টুল।", "561982839": "আপনার মুদ্রা পরিবর্তন করুন", @@ -557,12 +559,14 @@ "693396140": "চুক্তি বাতিল (মেয়াদ শেষ)", "696870196": "- খোলা সময়: খোলার সময় স্ট্যাম্প", "697630556": "এই মার্কেটটি বর্তমানে বন্ধ আছে।", + "698037001": "National Identity Number", "698748892": "এর আবার চেষ্টা করা যাক", "699159918": "1। অভিযোগ দাখিল", "700259824": "অ্যাকাউন্ট কারেন্সি", "701034660": "আমরা এখনও আপনার প্রত্যাহার অনুরোধ প্রক্রিয়া করছি আপনার অ্যাকাউন্ট নিষ্ক্রিয় করার আগে লেনদেন সম্পন্ন হওয়ার জন্য<0 /> অনুগ্রহ করে অপেক্ষা করুন।", "701462190": "এন্ট্রি স্পট", "701647434": "স্ট্রিং এর জন্য অনুসন্ধান", + "702451070": "National ID (No Photo)", "705299518": "পরবর্তী, আপনার পাসপোর্টের পৃষ্ঠাটি আপলোড করুন যা আপনার ফটোতে রয়েছে।", "706413212": "ক্যাশিয়ার অ্যাক্সেস করতে, আপনি এখন আপনার {{regulation}} {{currency}} ({{loginid}}) অ্যাকাউন্টে আছেন।", "706727320": "বাইনারি অপশন ট্রেডিং ফ্রিকোয়েন্সি", @@ -892,6 +896,7 @@ "1096175323": "আপনার একটি Deriv অ্যাকাউন্ট প্রয়োজন হবে", "1098147569": "একটি কোম্পানির পণ্য বা শেয়ার ক্রয়।", "1098622295": "“i” ১ এর মান দিয়ে শুরু হয় এবং প্রতি পুনরাবৃত্তির সময়ে এটি ২ দ্বারা বৃদ্ধি করা হবে। লুপ পুনরাবৃত্তি হবে যতক্ষণ না “আমি” 12 মান পৌঁছে, এবং তারপর লুপ সমাপ্ত করা হয়।", + "1100133959": "National ID", "1100870148": "অ্যাকাউন্টের সীমা এবং কীভাবে প্রয়োগ করা হয় সে সম্পর্কে আরও জানতে, অনুগ্রহ করে <0>সহায়তা কেন্দ্রে যান।", "1101560682": "গাদা", "1101712085": "মূল্য কিনুন", @@ -1182,6 +1187,7 @@ "1422060302": "এই ব্লকটি একটি তালিকার নির্দিষ্ট আইটেমকে অন্য একটি প্রদত্ত আইটেমের সাথে প্রতিস্থাপন করে। এটি একটি নির্দিষ্ট অবস্থানে তালিকায় নতুন আইটেম সন্নিবেশ করতে পারে।", "1422129582": "সমস্ত বিবরণ স্পষ্ট হতে হবে - কিছুই ঝাপসা", "1423082412": "শেষ সংখ্যা", + "1423296980": "Enter your SSNIT number", "1424741507": "আরও দেখুন", "1424779296": "আপনি যদি সম্প্রতি বট ব্যবহার করে থাকেন তবে এই তালিকায় সেগুলি দেখতে না পান, তাহলে আপনার কারণ হতে পারে:", "1428657171": "আপনি শুধুমাত্র আমানত করতে পারেন আরও তথ্যের জন্য <0>লাইভ চ্যাটের মাধ্যমে আমাদের সাথে যোগাযোগ করুন।", @@ -1200,6 +1206,7 @@ "1442747050": "ক্ষতির পরিমাণ: <0>{{profit}}", "1442840749": "র্যান্ডম পূর্ণসংখ্যা", "1443478428": "নির্বাচিত প্রস্তাবের অস্তিত্ব নেই", + "1444843056": "Corporate Affairs Commission", "1445592224": "আপনি ঘটনাক্রমে আমাদের অন্য একটি ইমেল ঠিকানা দিয়েছেন (সাধারণত একটি কাজ বা আপনি বোঝানো এক পরিবর্তে একটি ব্যক্তিগত এক)।", "1446742608": "আপনি এই সফর পুনরাবৃত্তি প্রয়োজন হলে এখানে ক্লিক করুন।", "1449462402": "পর্যালোচনায়", @@ -1529,6 +1536,7 @@ "1817154864": "এই ব্লকটি আপনাকে একটি সেট পরিসরের মধ্যে থেকে একটি র্যান্ডম নম্বর দেয়।", "1820242322": "যেমনঃ মার্কিন যুক্তরাষ্ট্র", "1820332333": "টপ আপ", + "1821818748": "Enter Driver License Reference number", "1823177196": "সবচেয়ে জনপ্রিয়", "1824193700": "এই ব্লকটি আপনাকে সর্বশেষ টিক মানের শেষ অঙ্ক দেয়।", "1824292864": "কল", @@ -1582,6 +1590,7 @@ "1873838570": "অনুগ্রহ করে আপনার ঠিকানা যাচাই করুন", "1874481756": "আপনি চান নির্দিষ্ট চুক্তি ক্রয় করতে এই ব্লক ব্যবহার করুন। আপনি আপনার ক্রয় শর্তাবলী সংজ্ঞায়িত করার জন্য শর্তাধীন ব্লক সহ একাধিক ক্রয় ব্লক যোগ করতে পারেন। এই ব্লকটি শুধুমাত্র ক্রয় শর্তাবলী ব্লকের মধ্যেই ব্যবহার করা যেতে পারে।", "1874756442": "বিভি", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "মিনিট", "1877225775": "আপনার ঠিকানা প্রমাণ যাচাই করা হয়", "1877272122": "আমরা প্রতিটি চুক্তির জন্য সর্বাধিক অর্থ প্রদান সীমিত করেছি, এবং এটি প্রতিটি সম্পত্তির জন্য পৃথক। সর্বাধিক পরিশোধ পৌঁছেছেন যখন আপনার চুক্তি স্বয়ংক্রিয়ভাবে বন্ধ করা হবে।", @@ -1619,6 +1628,7 @@ "1914014145": "আজ", "1914270645": "ডিফল্ট মোমবাতি ব্যবধান: {{ candle_interval_type }}", "1914725623": "আপনার ফটো ধারণ করে এমন পৃষ্ঠাটি আপলোড করুন।", + "1917178459": "Bank Verification Number", "1917523456": "এই ব্লকটি একটি টেলিগ্রাম চ্যানেলে একটি বার্তা পাঠায়। এই ব্লকটি ব্যবহার করার জন্য আপনাকে নিজের টেলিগ্রাম বট তৈরি করতে হবে।", "1917804780": "আপনি আপনার অপশন অ্যাকাউন্টে অ্যাক্সেস হারাবেন যখন এটি বন্ধ হবে, তাই আপনার সমস্ত অর্থ উত্তোলন করতে ভুলবেন না। (যদি আপনার একটি CFD অ্যাকাউন্ট থাকে, তাহলে আপনি আপনার অপশন অ্যাকাউন্ট থেকে আপনার CFD অ্যাকাউন্টে অর্থ স্থানান্তর করতে পারেন।)", "1918633767": "দ্বিতীয় লাইন ঠিকানা হয় না, একটি সঠিক বিন্যাসে।", @@ -1637,7 +1647,6 @@ "1924365090": "হয়তো পরে", "1924765698": "জন্মের স্থান*", "1925090823": "দুঃখিত, {{clients_country}}এ ট্রেডিং অনুপলব্ধ।", - "1927244779": "শুধুমাত্র নিম্নলিখিত বিশেষ অক্ষর ব্যবহার করুন:., ':; () @ #/-", "1928930389": "জিপি/এনওকে", "1929309951": "কর্মসংস্থানের অবস্থা", "1929379978": "আপনার ডেমো এবং আসল অ্যাকাউন্টের মধ্যে পরিবর্তন করুন।", @@ -1830,6 +1839,9 @@ "2145995536": "নতুন অ্যাকাউন্ট তৈরি করুন", "2146336100": "পাঠ্যে %1 পান %2", "2146892766": "বাইনারি অপশন ট্রেডিং অভিজ্ঞতা", + "-1515286538": "দয়া করে আপনার ডকুমেন্ট নাম্বার দিন। ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "ঠিকানার প্রথম লাইন প্রয়োজন", "-242734402": "দয়া করে শুধুমাত্র {{max}} অক্ষর।", "-378415317": "রাষ্ট্রের প্রয়োজন", @@ -2013,6 +2025,7 @@ "-213009361": "দুই ফ্যাক্টর প্রমাণীকরণ", "-1214803297": "ড্যাশবোর্ড-শুধুমাত্র পাথ", "-526636259": "ত্রুটি 404", + "-1694758788": "Enter your document number", "-1030759620": "সরকারি কর্মকর্তা", "-1196936955": "ব্যক্তিগত তথ্য বিভাগ থেকে আপনার নাম এবং ইমেল ঠিকানা একটি স্ক্রিনশট আপলোড করুন।", "-1286823855": "আপনার নাম এবং ফোন নম্বর দেখানো আপনার মোবাইল বিল স্টেটমেন্ট আপলোড করুন।", @@ -2081,7 +2094,6 @@ "-1088324715": "আমরা আপনার দস্তাবেজগুলি পর্যালোচনা করব এবং 1 - 3 কার্যদিবসের মধ্যে এটির স্থিতি সম্পর্কে আপনাকে অবহিত করব।", "-329713179": "আচ্ছা", "-1176889260": "অনুগ্রহ করে একটি নথির ধরন নির্বাচন করুন।", - "-1515286538": "দয়া করে আপনার ডকুমেন্ট নাম্বার দিন। ", "-1785463422": "আপনার পরিচয় যাচাই করুন", "-78467788": "দয়া করে ডকুমেন্টের ধরন নির্বাচন করুন এবং আইডি নম্বরটি লিখুন।", "-1117345066": "নথির ধরন বেছে নিন", @@ -2183,7 +2195,6 @@ "-863770104": "দয়া করে মনে রাখবেন যে 'ওকে' ক্লিক করে, আপনি নিজেকে ঝুঁকিতে প্রকাশ করতে পারেন। এই ঝুঁকিগুলি সঠিকভাবে মূল্যায়ন বা প্রশমিত করার জন্য আপনার কাছে জ্ঞান বা অভিজ্ঞতা নাও থাকতে পারে, যা উল্লেখযোগ্য হতে পারে, আপনার বিনিয়োগ করা সম্পূর্ণ যোগফল হারানোর ঝুঁকি সহ।", "-1292808093": "ট্রেডিং অভিজ্ঞতা", "-1458676679": "আপনি 2-50 অক্ষর লিখতে হবে।", - "-1166111912": "শুধুমাত্র নিম্নলিখিত বিশেষ অক্ষর ব্যবহার করুন: {{ permitted_characters }}", "-884768257": "আপনি 0-35 অক্ষর লিখতে হবে।", "-2113555886": "শুধুমাত্র অক্ষর, সংখ্যা, স্থান, এবং হাইফেন অনুমোদিত।", "-874280157": "এই কর সনাক্তকরণ নম্বর (টিআইএন) অবৈধ। আপনি এটি ব্যবহার চালিয়ে যেতে পারেন, কিন্তু ভবিষ্যতে পেমেন্ট প্রক্রিয়া সহজতর করার জন্য, বৈধ ট্যাক্স তথ্য প্রয়োজন হবে।", @@ -2445,8 +2456,8 @@ "-172277021": "ক্যাশিয়ার তোলার জন্য লক করা হয়", "-1624999813": "মনে হচ্ছে এই মুহুর্তে আপনাদের কোন কমিশন নেই। কমিশন পাওয়ার পর আপনি অর্থ উত্তোলন করতে পারবেন।", "-197251450": "{{currency_code}}ট্রেড করতে চান না? আপনি অন্য ক্রিপ্টোকুরেন্স অ্যাকাউন্ট খুলতে পারেন।", - "-1900848111": "এটি আপনার {{currency_code}} অ্যাকাউন্ট।", - "-749765720": "আপনার ফায়াত অ্যাকাউন্ট মুদ্রা {{currency_code}}সেট করা হয়।", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "আপনার অ্যাকাউন্ট পরিচালনা করুন ", "-1463156905": "পেমেন্ট পদ্ধতি সম্পর্কে আরও জানুন", "-1077304626": "পরিমাণ ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "দেখে মনে হচ্ছে আপনার কোনও আসল {{regulation}} অ্যাকাউন্ট নেই। ক্যাশিয়ার ব্যবহার করতে, আপনার {{active_real_regulation}} বাস্তব অ্যাকাউন্টে স্যুইচ করুন, অথবা একটি {{regulation}} বাস্তব অ্যাকাউন্ট পান।", "-1858915164": "বাস্তব জন্য ডিপোজিট এবং ট্রেড করতে প্রস্তুত?", "-162753510": "রিয়েল অ্যাকাউন্ট যোগ করুন", - "-7381040": "ডেমোতে থাকুন", "-1208519001": "ক্যাশিয়ার অ্যাক্সেস করার জন্য আপনার একটি বাস্তব ডেরিভ অ্যাকাউন্ট প্রয়োজন।", "-175369516": "ডেরিভ এক্স এর পক্ষ থেকে আপনাকে স্বাগতম", "-939154994": "Deriv MT5 ড্যাশবোর্ডে স্বাগতম", diff --git a/packages/translations/src/translations/de.json b/packages/translations/src/translations/de.json index 57c61abfc1eb..8ee0e73a3bcd 100644 --- a/packages/translations/src/translations/de.json +++ b/packages/translations/src/translations/de.json @@ -391,6 +391,7 @@ "489768502": "Anlegerpasswort ändern", "491603904": "Browser wird nicht unterstützt", "492198410": "Stellen Sie sicher, dass alles klar ist", + "492566838": "Taxpayer identification number", "497518317": "Funktion, die einen Wert zurückgibt", "498144457": "Eine aktuelle Stromrechnung (z. B. Strom, Wasser oder Gas)", "498562439": "oder", @@ -433,6 +434,7 @@ "551569133": "Erfahren Sie mehr über Handelslimits", "554410233": "Dies ist ein der 10 häufigsten Passwörter", "555351771": "Nachdem Sie Handelsparameter und Handelsoptionen definiert haben, möchten Sie Ihren Bot möglicherweise anweisen, Kontrakte zu kaufen, wenn bestimmte Bedingungen erfüllt sind. Dazu können Sie Bedingungsblöcke und Indikatorblöcke verwenden, um Ihrem Bot zu helfen, Entscheidungen zu treffen.", + "555881991": "National Identity Number Slip", "556264438": "Zeitintervall", "559224320": "Unser klassisches „Drag-and-Drop“ -Tool zum Erstellen von Handelsbots mit Pop-up-Handelscharts für fortgeschrittene Benutzer.", "561982839": "Ändere deine Währung", @@ -557,12 +559,14 @@ "693396140": "Stornierung des Deals (abgelaufen)", "696870196": "- Öffnungszeit: der Öffnungszeitstempel", "697630556": "Dieser Markt ist derzeit geschlossen.", + "698037001": "National Identity Number", "698748892": "Lass uns das noch einmal versuchen", "699159918": "1. Einreichung von Beschwerden", "700259824": "Kontowährung", "701034660": "Wir bearbeiten Ihre Auszahlungsanfrage noch.<0 /> Bitte warten Sie, bis die Transaktion abgeschlossen ist, bevor Sie Ihr Konto deaktivieren.", "701462190": "Einstiegsstelle", "701647434": "Suche nach einer Zeichenfolge", + "702451070": "National ID (No Photo)", "705299518": "Laden Sie als Nächstes die Seite Ihres Reisepasses hoch, die Ihr Foto enthält.", "706413212": "Um auf den Kassierer zuzugreifen, befinden Sie sich jetzt in Ihrem Konto {{regulation}} {{currency}} ({{loginid}}).", "706727320": "Häufigkeit des Handels mit binären Optionen", @@ -892,6 +896,7 @@ "1096175323": "Sie benötigen ein Deriv-Konto", "1098147569": "Kaufen Sie Rohstoffe oder Aktien eines Unternehmens.", "1098622295": "„i“ beginnt mit dem Wert 1 und wird bei jeder Iteration um 2 erhöht. Die Schleife wird wiederholt, bis „i“ den Wert 12 erreicht, und dann wird die Schleife beendet.", + "1100133959": "National ID", "1100870148": "Um mehr über Kontolimits und deren Anwendung zu erfahren, besuche bitte das <0>Hilfecenter.", "1101560682": "stapeln", "1101712085": "Preis kaufen", @@ -1182,6 +1187,7 @@ "1422060302": "Dieser Block ersetzt ein bestimmtes Element in einer Liste durch ein anderes bestimmtes Element. Es kann das neue Element auch an einer bestimmten Position in die Liste einfügen.", "1422129582": "Alle Details müssen klar sein — nichts verschwommen", "1423082412": "Letzte Ziffer", + "1423296980": "Enter your SSNIT number", "1424741507": "Sehen Sie mehr", "1424779296": "Wenn du in letzter Zeit Bots benutzt hast, sie aber nicht in dieser Liste findest, kann das daran liegen, dass du:", "1428657171": "Sie können nur Einzahlungen tätigen. Bitte kontaktieren Sie uns per <0>Live-Chat für weitere Informationen.", @@ -1200,6 +1206,7 @@ "1442747050": "Betrag des Verlustes: <0>{{profit}}", "1442840749": "Zufällige Ganzzahl", "1443478428": "Der gewählte Vorschlag existiert nicht", + "1444843056": "Corporate Affairs Commission", "1445592224": "Sie haben uns versehentlich eine andere E-Mail-Adresse gegeben (normalerweise eine geschäftliche oder eine persönliche E-Mail-Adresse anstelle der von Ihnen meinten).", "1446742608": "Klicken Sie hier, falls Sie diese Tour jemals wiederholen müssen.", "1449462402": "Im Rückblick", @@ -1529,6 +1536,7 @@ "1817154864": "Dieser Block gibt Ihnen eine Zufallszahl aus einem festgelegten Bereich.", "1820242322": "z. B. Vereinigte Staaten", "1820332333": "Aufladen", + "1821818748": "Enter Driver License Reference number", "1823177196": "Am beliebtesten", "1824193700": "Dieser Block gibt Ihnen die letzte Ziffer des letzten Tick-Werts.", "1824292864": "Ruf", @@ -1582,6 +1590,7 @@ "1873838570": "Bitte verifizieren Sie Ihre Adresse", "1874481756": "Verwenden Sie diesen Block, um den gewünschten Vertrag zu erwerben. Sie können mehrere Kaufblöcke zusammen mit bedingten Blöcken hinzufügen, um Ihre Einkaufsbedingungen zu definieren. Dieser Block kann nur innerhalb des Blocks mit den Einkaufsbedingungen verwendet werden.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Minuten", "1877225775": "Ihr Adressnachweis ist verifiziert", "1877272122": "Wir haben die maximale Auszahlung für jeden Vertrag begrenzt, und sie ist für jeden Vermögenswert unterschiedlich. Ihr Vertrag wird automatisch geschlossen, wenn die maximale Auszahlung erreicht ist.", @@ -1619,6 +1628,7 @@ "1914014145": "Heute", "1914270645": "Standard-Kerzenintervall: {{ candle_interval_type }}", "1914725623": "Laden Sie die Seite hoch, die Ihr Foto enthält.", + "1917178459": "Bank Verification Number", "1917523456": "Dieser Block sendet eine Nachricht an einen Telegram-Kanal. Sie müssen Ihren eigenen Telegram-Bot erstellen, um diesen Block verwenden zu können.", "1917804780": "Sie verlieren den Zugriff auf Ihr Optionskonto, wenn es geschlossen wird. Stellen Sie also sicher, dass Sie Ihr gesamtes Geld abheben. (Wenn Sie ein CFD-Konto haben, können Sie das Geld auch von Ihrem Optionskonto auf Ihr CFD-Konto überweisen.)", "1918633767": "Die zweite Adresszeile hat kein richtiges Format.", @@ -1637,7 +1647,6 @@ "1924365090": "Vielleicht später", "1924765698": "Geburtsort*", "1925090823": "Leider ist der Handel in {{clients_country}}nicht verfügbar.", - "1927244779": "Verwenden Sie nur die folgenden Sonderzeichen:., ':; () @ #/-", "1928930389": "GBP/NOK", "1929309951": "Beschäftigungsstatus", "1929379978": "Wechseln Sie zwischen Ihrem Demo- und Ihrem Echtgeldkonto.", @@ -1830,6 +1839,9 @@ "2145995536": "Neues Konto erstellen", "2146336100": "im Text %1 erhalten Sie %2", "2146892766": "Erfahrung im Handel mit binären Optionen", + "-1515286538": "Bitte geben Sie Ihre Dokumentennummer ein. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Die erste Adresszeile ist erforderlich", "-242734402": "Nur {{max}} Zeichen, bitte.", "-378415317": "Staat ist erforderlich", @@ -2013,6 +2025,7 @@ "-213009361": "Zwei-Faktor-Authentifizierung", "-1214803297": "Pfad nur für das Dashboard", "-526636259": "Fehler 404", + "-1694758788": "Enter your document number", "-1030759620": "Regierungsbeamte", "-1196936955": "Laden Sie einen Screenshot Ihres Namens und Ihrer E-Mail-Adresse aus dem Bereich „Persönliche Daten“ hoch.", "-1286823855": "Laden Sie Ihre Handyrechnung mit Ihrem Namen und Ihrer Telefonnummer hoch.", @@ -2081,7 +2094,6 @@ "-1088324715": "Wir werden Ihre Dokumente überprüfen und Sie innerhalb von 1 bis 3 Arbeitstagen über den Status informieren.", "-329713179": "Okay", "-1176889260": "Bitte wählen Sie einen Dokumenttyp aus.", - "-1515286538": "Bitte geben Sie Ihre Dokumentennummer ein. ", "-1785463422": "Verifiziere deine Identität", "-78467788": "Bitte wählen Sie den Dokumenttyp und geben Sie die ID-Nummer ein.", "-1117345066": "Wählen Sie den Dokumenttyp", @@ -2161,8 +2173,8 @@ "-740157281": "Bewertung der Handelserfahrung", "-1720468017": "Um Ihnen unsere Dienstleistungen anbieten zu können, müssen wir Informationen von Ihnen einholen, um beurteilen zu können, ob ein bestimmtes Produkt oder eine bestimmte Dienstleistung für Sie geeignet ist.", "-186841084": "Ändere deine Login-E-Mail", - "-907403572": "To change your email address, you'll first need to unlink your email address from your {{identifier_title}} account.", - "-1850792730": "Unlink from {{identifier_title}}", + "-907403572": "Um Ihre E-Mail-Adresse zu ändern, müssen Sie zunächst die Verknüpfung Ihrer E-Mail-Adresse mit Ihrem {{identifier_title}}-Konto aufheben.", + "-1850792730": "Unlink von {{identifier_title}}", "-2139303636": "Möglicherweise sind Sie einem defekten Link gefolgt, oder die Seite wurde an eine neue Adresse verschoben.", "-1448368765": "Fehlercode: {{error_code}} Seite nicht gefunden", "-2145244263": "Dieses Feld ist ein Pflichtfeld", @@ -2183,7 +2195,6 @@ "-863770104": "Bitte beachten Sie, dass Sie sich Risiken aussetzen können, wenn Sie auf „OK“ klicken. Möglicherweise verfügen Sie nicht über das Wissen oder die Erfahrung, um diese Risiken, die erheblich sein können, einschließlich des Risikos, den gesamten von Ihnen investierten Betrag zu verlieren, richtig einzuschätzen oder zu mindern.", "-1292808093": "Handelserfahrung", "-1458676679": "Sie sollten 2-50 Zeichen eingeben.", - "-1166111912": "Verwenden Sie nur die folgenden Sonderzeichen: {{ permitted_characters }}", "-884768257": "Sie sollten 0-35 Zeichen eingeben.", "-2113555886": "Nur Buchstaben, Zahlen, Leerzeichen und Bindestriche sind zulässig.", "-874280157": "Diese Steueridentifikationsnummer (TIN) ist ungültig. Sie können es weiterhin verwenden, aber um zukünftige Zahlungsvorgänge zu vereinfachen, sind gültige Steuerinformationen erforderlich.", @@ -2235,7 +2246,7 @@ "-1708927037": "IP-Adresse", "-80717068": "Apps, die Sie mit Ihrem <0>Deriv-Passwort verknüpft haben:", "-2143208677": "Klicken Sie auf die Schaltfläche <0>Passwort ändern, um Ihr Deriv MT5-Passwort zu ändern.", - "-9570380": "Use the {{platform_name_dxtrade}} password to log in to your {{platform_name_dxtrade}} accounts on the web and mobile apps.", + "-9570380": "Verwenden Sie das {{platform_name_dxtrade}}-Passwort, um sich bei Ihren {{platform_name_dxtrade}}-Konten im Web und in den mobilen Apps anzumelden.", "-2131200819": "Deaktivieren", "-200487676": "Aktiviere", "-1840392236": "Das ist nicht der richtige Code. Bitte versuchen Sie es erneut.", @@ -2288,7 +2299,7 @@ "-1117963487": "Benennen Sie Ihr Token und klicken Sie auf „Erstellen“, um Ihr Token zu generieren.", "-2115275974": "CFDs", "-1879666853": "Deriv MT5", - "-460645791": "You are limited to one fiat account. You won’t be able to change your account currency if you have already made your first deposit or created a real {{dmt5_label}} account.", + "-460645791": "Sie sind auf ein Fiat-Konto beschränkt. Sie können Ihre Kontowährung nicht mehr ändern, wenn Sie bereits Ihre erste Einzahlung getätigt oder ein echtes {{dmt5_label}} Konto erstellt haben.", "-1146960797": "Fiat-Währungen", "-1959484303": "Kryptowährungen", "-561724665": "Sie sind auf nur eine Fiat-Währung beschränkt", @@ -2377,7 +2388,7 @@ "-339648370": "<1>Erzielen Sie eine Reihe von Auszahlungen, indem Sie Marktpreisbewegungen mit <0>Optionen korrekt vorhersagen, oder nutzen Sie mit Multiplikatoren den Vorteil von CFDs von\n , ohne mehr als Ihren ursprünglichen Einsatz zu riskieren.", "-2146691203": "Wahl der Verordnung", "-249184528": "Sie können echte Konten gemäß EU- oder Nicht-EU-Vorschriften erstellen. Klicken Sie auf das <0><0/>Symbol, um mehr über diese Konten zu erfahren.", - "-1505234170": "Trader's Hub tour", + "-1505234170": "Trader's Hub-Tour", "-181080141": "Führung durch das Handelszentrum", "-1042025112": "Benötigen Sie Hilfe bei der Fortbewegung? <0>Wir haben ein kurzes Tutorial, das helfen könnte. Klicken Sie auf Tour wiederholen, um zu beginnen.", "-1536335438": "Dies sind die Handelskonten, die Ihnen zur Verfügung stehen. Du kannst auf das Symbol oder die Beschreibung eines Accounts klicken, um mehr zu erfahren", @@ -2427,7 +2438,7 @@ "-1975494965": "Kassierer", "-1787304306": "Deriv P2P", "-1870909526": "Unser Server kann keine Adresse abrufen.", - "-582721696": "The current allowed withdraw amount is {{format_min_withdraw_amount}} to {{format_max_withdraw_amount}} {{currency}}", + "-582721696": "Der aktuell zulässige Abhebungsbetrag ist {{format_min_withdraw_amount}} bis {{format_max_withdraw_amount}} {{currency}}", "-60779216": "Auszahlungen sind aufgrund von Systemwartungsarbeiten vorübergehend nicht verfügbar. Sie können Ihre Auszahlungen vornehmen, wenn die Wartung abgeschlossen ist.", "-215186732": "Sie haben Ihr Wohnsitzland nicht festgelegt. Um auf den Kassenbereich zuzugreifen, aktualisieren Sie bitte Ihr Wohnsitzland im Abschnitt Persönliche Daten in Ihren Kontoeinstellungen.", "-1392897508": "Die von Ihnen eingereichten Ausweisdokumente sind abgelaufen. Bitte reichen Sie gültige Ausweisdokumente ein, um den Kassenbereich freizuschalten. ", @@ -2445,8 +2456,8 @@ "-172277021": "Der Kassenbereich ist für Auszahlungen gesperrt", "-1624999813": "Es scheint, dass Sie derzeit keine Provisionen zum Abheben haben. Sie können Auszahlungen vornehmen, sobald Sie Ihre Provisionen erhalten haben.", "-197251450": "Sie möchten {{currency_code}}nicht eintauschen? Sie können ein weiteres Kryptowährungskonto eröffnen.", - "-1900848111": "This is your {{currency_code}} account.", - "-749765720": "Die Währung Ihres Fiat-Kontos ist auf {{currency_code}}gesetzt.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Verwalte deine Konten ", "-1463156905": "Erfahren Sie mehr über Zahlungsmethoden", "-1077304626": "Betrag ({{currency}})", @@ -2466,7 +2477,7 @@ "-1603543465": "Wir können Ihre persönlichen Daten nicht überprüfen, da einige Informationen fehlen.", "-614516651": "Brauchen Sie Hilfe? <0>Nehmen Sie Kontakt mit uns auf.", "-203002433": "Jetzt einzahlen", - "-720315013": "You have no funds in your {{currency}} account", + "-720315013": "Sie haben kein Guthaben auf Ihrem {{currency}}-Konto", "-2052373215": "Bitte tätigen Sie eine Einzahlung, um diese Funktion nutzen zu können.", "-379487596": "{{selected_percentage}}% des verfügbaren Saldos ({{format_amount}} {{currency__display_code}})", "-1957498244": "mehr", @@ -2485,14 +2496,14 @@ "-1239329687": "Tether wurde ursprünglich entwickelt, um das Bitcoin-Netzwerk als Transportprotokoll zu verwenden — insbesondere den Omni Layer —, um Transaktionen mit tokenisierten traditionellen Währungen zu ermöglichen.", "-2013448791": "Möchten Sie zwischen E-Wallet-Währungen wechseln? Testen <0>Sie Ewallet.Exchange", "-2061807537": "Etwas stimmt nicht", - "-1068036170": "We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.", - "-2056016338": "You’ll not be charged a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts.", - "-599632330": "We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.", + "-1068036170": "Wir berechnen keine Überweisungsgebühren für Überweisungen in derselben Währung zwischen Ihren Deriv fiat und {{platform_name_mt5}} Konten und zwischen Ihren Deriv fiat und {{platform_name_dxtrade}} Konten.", + "-2056016338": "Für Überweisungen in derselben Währung zwischen Ihren Deriv-Konten und {{platform_name_mt5}}-Konten wird keine Gebühr erhoben.", + "-599632330": "Für Überweisungen in verschiedenen Währungen zwischen Ihren Konten bei Deriv fiat und {{platform_name_mt5}} sowie zwischen Ihren Konten bei Deriv fiat und {{platform_name_dxtrade}} berechnen wir eine Gebühr von 1%.", "-1196994774": "Für Überweisungen zwischen Ihren Deriv-Kryptowährungskonten erheben wir eine Überweisungsgebühr von 2% oder {{minimum_fee}} {{currency}}, je nachdem, welcher Betrag höher ist.", "-1361372445": "Für Überweisungen zwischen Ihren Deriv-Kryptowährungs- und Deriv MT5-Konten, Ihrer Deriv-Kryptowährung und {{platform_name_derivez}} Konten sowie Ihrer Deriv-Kryptowährung und {{platform_name_dxtrade}} Konten berechnen wir eine Überweisungsgebühr von 2% oder {{minimum_fee}} {{currency}}, je nachdem, welcher Betrag höher ist.", "-993556039": "Für Überweisungen zwischen Ihren Deriv-Kryptowährung- und Deriv MT5-Konten sowie zwischen Ihrer Deriv-Kryptowährung und {{platform_name_dxtrade}} Konten erheben wir eine Überweisungsgebühr von 2% oder {{minimum_fee}} {{currency}}, je nachdem, welcher Betrag höher ist.", "-1382702462": "Für Überweisungen zwischen Ihrer Deriv-Kryptowährung und Deriv MT5-Konten erheben wir eine Überweisungsgebühr von 2% oder {{minimum_fee}} {{currency}}, je nachdem, welcher Betrag höher ist.", - "-1995859618": "You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_derivez}} and {{platform_name_dxtrade}} accounts.", + "-1995859618": "Sie können zwischen Ihren Deriv-Konten für Fiat, Kryptowährungen, {{platform_name_mt5}}, {{platform_name_derivez}} und {{platform_name_dxtrade}} überweisen.", "-545616470": "Jeden Tag können Sie bis zu {{ allowed_internal }} Überweisungen zwischen Ihren Deriv-Konten, bis zu {{ allowed_mt5 }} Überweisungen zwischen Ihren Deriv-Konten und {{platform_name_mt5}} Konten, bis zu {{ allowed_derivez }} Überweisungen zwischen Ihrem Deriv-Konto und {{platform_name_derivez}} Konten und bis zu {{ allowed_dxtrade }} Überweisungen zwischen Ihrem Deriv-Konto und {{platform_name_dxtrade}} Konten tätigen.", "-1151983985": "Die Überweisungslimits können je nach Wechselkurs variieren.", "-1747571263": "Bitte beachten Sie, dass einige Überweisungen möglicherweise nicht möglich sind.", @@ -2505,7 +2516,7 @@ "-553249337": "Übertragungen sind gesperrt", "-1638172550": "Um diese Funktion zu aktivieren, müssen Sie die folgenden Schritte ausführen:", "-1949883551": "Du hast nur ein Konto", - "-1149845849": "Back to Trader's Hub", + "-1149845849": "Zurück zu Trader's Hub", "-1232852916": "Wir wechseln zu Ihrem Konto {{currency}} , um die Transaktion zu sehen.", "-993393818": "Binance Smart Chain", "-561858764": "Polygon (Matic)", @@ -2876,7 +2887,7 @@ "-823349637": "Gehe zu Trustpilot", "-1204063440": "Lege meine Kontowährung fest", "-1601813176": "Möchten Sie Ihre Tageslimits auf {{max_daily_buy}} {{currency}} (Kauf) und {{max_daily_sell}} {{currency}} (Verkauf) erhöhen?", - "-1751632759": "Get a faster mobile trading experience with the <0>{{platform_name_go}} app!", + "-1751632759": "Mit der <0>{{platform_name_go}}-App können Sie schneller mobil handeln!", "-1164554246": "Sie haben abgelaufene Ausweisdokumente eingereicht", "-219846634": "Lass uns deine ID verifizieren", "-529038107": "Installieren", @@ -2935,8 +2946,8 @@ "-1998049070": "Wenn Sie der Verwendung von Cookies zustimmen, klicken Sie auf Akzeptieren. Weitere Informationen finden <0>Sie in unseren Richtlinien.", "-402093392": "Deriv-Konto hinzufügen", "-277547429": "Mit einem Deriv-Konto können Sie Ihr (e) MT5-Konto (e) einzahlen (und abheben).", - "-1721181859": "You’ll need a {{deriv_account}} account", - "-1989074395": "Please add a {{deriv_account}} account first before adding a {{dmt5_account}} account. Deposits and withdrawals for your {{dmt5_label}} account are done by transferring funds to and from your {{deriv_label}} account.", + "-1721181859": "Sie benötigen ein {{deriv_account}} Konto", + "-1989074395": "Bitte fügen Sie zuerst ein {{deriv_account}} Konto hinzu, bevor Sie ein {{dmt5_account}} Konto hinzufügen. Einzahlungen und Abhebungen für Ihr {{dmt5_label}}-Konto erfolgen durch Überweisungen auf und von Ihrem {{deriv_label}}-Konto.", "-689237734": "Fahren Sie fort", "-1642457320": "Hilfecenter", "-1966944392": "Netzwerkstatus: {{status}}", @@ -2976,7 +2987,7 @@ "-987221110": "Wählen Sie eine Währung, mit der Sie handeln möchten.", "-1066574182": "Wähle eine Währung", "-1914534236": "Wähle deine Währung", - "-200560194": "Please switch to your {{fiat_currency}} account to change currencies.", + "-200560194": "Bitte wechseln Sie zu Ihrem {{fiat_currency}} Konto, um die Währung zu ändern.", "-1829493739": "Wählen Sie die Währung, mit der Sie handeln möchten.", "-1814647553": "Füge ein neues hinzu", "-1269362917": "Neues hinzufügen", @@ -3025,7 +3036,7 @@ "-601615681": "Wählen Sie ein Thema", "-1152511291": "Dunkel", "-1428458509": "Licht", - "-1976089791": "Your Deriv account has been unlinked from your {{social_identity_provider}} account. You can now log in to Deriv using your new email address and password.", + "-1976089791": "Ihr Deriv-Konto wurde von Ihrem {{social_identity_provider}}-Konto entkoppelt. Sie können sich jetzt mit Ihrer neuen E-Mail-Adresse und Ihrem Passwort bei Deriv anmelden.", "-505449293": "Geben Sie ein neues Passwort für Ihr Deriv-Konto ein.", "-891307883": "Wenn Sie dieses Fenster schließen, gehen alle von Ihnen eingegebenen Informationen verloren.", "-703818088": "Loggen Sie sich nur über diesen sicheren Link in Ihr Konto ein, niemals woanders.", @@ -3074,10 +3085,9 @@ "-815070480": "Haftungsausschluss: Die von Acuity bereitgestellten Handelsdienstleistungen und Informationen sollten nicht als Aufforderung zu Investitionen und/oder zum Handel ausgelegt werden. Deriv bietet keine Anlageberatung an. Die Vergangenheit ist kein Leitfaden für die zukünftige Leistung, und Strategien, die in der Vergangenheit funktioniert haben, funktionieren in Zukunft möglicherweise nicht.", "-2111521813": "Acuity herunterladen", "-941870889": "Der Kassierer ist nur für echte Konten", - "-352838513": "It looks like you don’t have a real {{regulation}} account. To use the cashier, switch to your {{active_real_regulation}} real account, or get an {{regulation}} real account.", + "-352838513": "Es sieht so aus, als hätten Sie kein echtes {{regulation}}-Konto. Um die Kasse zu benutzen, wechseln Sie zu Ihrem {{active_real_regulation}} real account, oder besorgen Sie sich ein {{regulation}} real account.", "-1858915164": "Sind Sie bereit, einzuzahlen und mit echtem Geld zu handeln?", "-162753510": "Echtes Konto hinzufügen", - "-7381040": "Bleiben Sie in der Demo", "-1208519001": "Sie benötigen ein echtes Deriv-Konto, um auf den Kassierer zugreifen zu können.", "-175369516": "Willkommen bei Deriv X", "-939154994": "Willkommen im Deriv MT5-Dashboard", @@ -3113,7 +3123,7 @@ "-1882063886": "Demo-CFDs", "-1347908717": "Finanzielle SVG-Demo", "-1780324582": "SVG", - "-785625598": "Use these credentials to log in to your {{platform}} account on the website and mobile apps.", + "-785625598": "Verwenden Sie diese Anmeldedaten, um sich bei Ihrem {{platform}}-Konto auf der Website und in den mobilen Anwendungen anzumelden.", "-997127433": "Passwort ändern", "-1300381594": "Holen Sie sich die Handelstools von Acuity", "-860609405": "Passwort", @@ -3127,7 +3137,7 @@ "-1647569139": "Synthetische Wertpapiere, Derivierte Devisen, Forex: Standard/Micro, Aktien, Aktienindizes, Rohstoffe, Kryptowährungen", "-2102641225": "Beim Banküberfall wird die Liquidität auf den Devisenmärkten reduziert, was den Spread und die Bearbeitungszeit für Kundenaufträge erhöhen kann. Dies geschieht gegen 21:00 GMT während der Sommerzeit und um 22:00 GMT außerhalb der Sommerzeit.", "-495364248": "Das Margin Call- und Stop-Out-Niveau ändern sich je nach Marktlage von Zeit zu Zeit.", - "-536189739": "To protect your portfolio from adverse market movements due to the market opening gap, we reserve the right to decrease leverage on all offered symbols for financial accounts before market close and increase it again after market open. Please make sure that you have enough funds available in your {{platform}} account to support your positions at all times.", + "-536189739": "Um Ihr Portfolio vor ungünstigen Marktbewegungen aufgrund der Marktöffnungslücke zu schützen, behalten wir uns das Recht vor, die Hebelwirkung auf alle angebotenen Symbole für Finanzkonten vor Marktschluss zu verringern und nach Marktöffnung wieder zu erhöhen. Bitte vergewissern Sie sich, dass Sie auf Ihrem {{platform}}-Konto genügend Geldmittel zur Verfügung haben, um Ihre Positionen jederzeit zu unterstützen.", "-712681566": "Peer-to-Peer-Austausch", "-1267880283": "{{field_name}} ist erforderlich", "-2084509650": "{{field_name}} ist nicht richtig formatiert.", @@ -3135,23 +3145,23 @@ "-188222339": "Dies sollte {{max_number}} Zeichen nicht überschreiten.", "-1673422138": "Bundesstaat/Provinz hat kein geeignetes Format.", "-1580554423": "Handeln Sie CFDs auf unsere synthetischen Indizes, die reale Marktbewegungen simulieren.", - "-1385484963": "Confirm to change your {{platform}} password", - "-1990902270": "This will change the password to all of your {{platform}} accounts.", + "-1385484963": "Bestätigen Sie, dass Sie Ihr {{platform}} Passwort ändern möchten", + "-1990902270": "Dadurch wird das Passwort für alle Ihre {{platform}}-Konten geändert.", "-673424733": "Demo-Konto", "-1986258847": "Die Serverwartung beginnt jeden Sonntag um 01:00 Uhr GMT und dieser Vorgang kann bis zu 2 Stunden dauern. Der Service kann während dieser Zeit unterbrochen werden.", "-1199152768": "Bitte erkunden Sie unsere anderen Plattformen.", "-205020823": "Erkunden Sie {{platform_name_trader}}", "-1982499699": "Erkunden Sie {{platform_name_dbot}}", "-1567989247": "Reichen Sie Ihren Identitäts- und Adressnachweis ein", - "-184453418": "Enter your {{platform}} password", + "-184453418": "Geben Sie Ihr {{platform}}-Passwort ein", "-393388362": "Wir überprüfen Ihre Dokumente. Dies sollte etwa 1 bis 3 Tage dauern.", "-790488576": "Passwort vergessen?", - "-535365199": "Enter your {{platform}} password to add a {{platform_name}} {{account}} account.", - "-2057918502": "Hint: You may have entered your Deriv password, which is different from your {{platform}} password.", + "-535365199": "Geben Sie Ihr {{platform}}-Passwort ein, um ein {{platform_name}} {{account}}-Konto hinzuzufügen.", + "-2057918502": "Hinweis: Sie haben möglicherweise Ihr Deriv-Passwort eingegeben, das sich von Ihrem {{platform}}-Passwort unterscheidet.", "-1769158315": "echt", "-700260448": "Demo", "-1936102840": "Herzlichen Glückwunsch, Sie haben Ihr {{category}} <0>{{platform}} <1>{{type}} {{jurisdiction_selected_shortcode}} Konto erfolgreich erstellt. ", - "-1570793523": "Congratulations, you have successfully created your {{category}} <0>{{platform}} <1>{{type}} account.", + "-1570793523": "Herzlichen Glückwunsch, Sie haben erfolgreich Ihr {{category}} <0>{{platform}} <1>{{type}} Konto erstellt.", "-1928229820": "Setzen Sie das Deriv X-Investorenpasswort zurück", "-1087845020": "Haupt", "-1950683866": "Investor", @@ -3177,7 +3187,7 @@ "-81650212": "MetaTrader 5 Webseite", "-2123571162": "Herunterladen", "-941636117": "MetaTrader 5 Linux-App", - "-637537305": "Download {{ platform }} on your phone to trade with the {{ platform }} {{ account }} account", + "-637537305": "Laden Sie {{ platform }} auf Ihr Handy herunter, um mit der {{ platform }} zu handeln {{ account }} Konto", "-2042845290": "Ihr Anlegerpasswort wurde geändert.", "-1882295407": "Ihr Passwort wurde geändert.", "-254497873": "Verwenden Sie dieses Passwort, um einem anderen Benutzer Lesezugriff zu gewähren. Sie können zwar Ihr Handelskonto einsehen, können aber weder handeln noch andere Maßnahmen ergreifen.", @@ -3188,14 +3198,14 @@ "-1576792859": "Identitäts- und Adressnachweis sind erforderlich", "-2073834267": "Ein Identitätsnachweis ist erforderlich", "-24420436": "Adressnachweis ist erforderlich", - "-2026018074": "Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (SVG) LLC (company no. 273 LLC 2020).", - "-162320753": "Add your Deriv MT5 <0>{{account_type_name}} account under Deriv (BVI) Ltd, regulated by the British Virgin Islands Financial Services Commission (License no. SIBA/L/18/1114).", + "-2026018074": "Fügen Sie Ihr Deriv MT5 <0>{{account_type_name}} Konto unter Deriv (SVG) LLC (Firmennummer 273 LLC 2020) hinzu.", + "-162320753": "Fügen Sie Ihr Deriv MT5 <0>{{account_type_name}}-Konto unter Deriv (BVI) Ltd, reguliert durch die British Virgin Islands Financial Services Commission (Lizenz Nr. SIBA/L/18/1114), hinzu.", "-724308541": "Gerichtsstand für Ihr Deriv MT5 CFD-Konto", - "-1179429403": "Choose a jurisdiction for your MT5 {{account_type}} account", + "-1179429403": "Wählen Sie eine Gerichtsbarkeit für Ihr MT5-Konto {{account_type}}", "-450424792": "Sie benötigen ein echtes Konto (Fiat-Währung oder Kryptowährung) in Deriv, um ein echtes Deriv MT5-Konto zu erstellen.", "-1760596315": "Erstellen Sie ein Deriv-Konto", "-648956272": "Verwenden Sie dieses Passwort, um sich bei Ihren Deriv X-Konten im Internet und in mobilen Apps anzumelden.", - "-1814308691": "Please click on the link in the email to change your {{platform}} password.", + "-1814308691": "Bitte klicken Sie auf den Link in der E-Mail, um Ihr {{platform}}-Passwort zu ändern.", "-1282933308": "Nicht {{barrier}}", "-968190634": "Entspricht {{barrier}}", "-1747377543": "Unter {{barrier}}", diff --git a/packages/translations/src/translations/es.json b/packages/translations/src/translations/es.json index 14ec5328c09c..6d5d828185ac 100644 --- a/packages/translations/src/translations/es.json +++ b/packages/translations/src/translations/es.json @@ -391,6 +391,7 @@ "489768502": "Cambiar contraseña de inversor", "491603904": "Navegador no admitido", "492198410": "Asegúrese de que todo esté claro", + "492566838": "Taxpayer identification number", "497518317": "Función que devuelve un valor", "498144457": "Una factura de servicios públicos reciente (por ejemplo, electricidad, agua o gas)", "498562439": "o", @@ -433,6 +434,7 @@ "551569133": "Aprenda más sobre los límites de trading", "554410233": "Esta es una de las 10 contraseñas más comunes", "555351771": "Después de definir los parámetros y las opciones comerciales, es posible que desee indicarle a su bot que compre contratos cuando se cumplan condiciones específicas. Para hacerlo, puede usar bloques condicionales e indicadores para ayudar a su bot a tomar decisiones.", + "555881991": "National Identity Number Slip", "556264438": "Intervalo de tiempo", "559224320": "Nuestra clásica herramienta de “arrastrar y soltar” para crear robots de trading, con gráficos de trading emergentes, para usuarios avanzados.", "561982839": "Cambie su moneda", @@ -557,12 +559,14 @@ "693396140": "Cancelación del contrato (expirado)", "696870196": "- Tiempo de apertura: marca temporal de apertura", "697630556": "Este mercado está actualmente cerrado.", + "698037001": "National Identity Number", "698748892": "Intentemos nuevamente", "699159918": "1. Presentación de quejas", "700259824": "Moneda de la cuenta", "701034660": "Todavía estamos procesando su solicitud de retiro. <0 />Espere a que se complete la transacción antes de desactivar su cuenta.", "701462190": "Punto de entrada", "701647434": "Buscar cadena", + "702451070": "National ID (No Photo)", "705299518": "A continuación, suba la página de su pasaporte que contiene la foto.", "706413212": "Para acceder al cajero, ahora se encuentra en su cuenta {{regulation}} {{currency}} ({{loginid}}).", "706727320": "Frecuencia de operación con opciones binarias", @@ -892,6 +896,7 @@ "1096175323": "Necesitará una cuenta Deriv", "1098147569": "Comprar materias primas o acciones de una empresa.", "1098622295": "\"i\" comienza con el valor 1, y se incrementará en 2 con cada iteración. El ciclo se repetirá hasta que \"i\" alcance el valor 12, y luego el ciclo finalizará.", + "1100133959": "National ID", "1100870148": "Para obtener más información sobre los límites de cuentas y cómo se aplican, visite el <0>Centro de ayuda..", "1101560682": "montón", "1101712085": "Precio de compra", @@ -1182,6 +1187,7 @@ "1422060302": "Este bloque reemplaza un elemento específico en una lista con otro elemento dado. También puede insertar el nuevo elemento en la lista en una posición específica.", "1422129582": "Todos los detalles deben ser claros, nada borroso", "1423082412": "Último dígito", + "1423296980": "Enter your SSNIT number", "1424741507": "Ver más", "1424779296": "Si recientemente ha usado bots pero no los ve en esta lista, puede ser porque:", "1428657171": "Solo puede hacer depósitos. Contáctenos a través del <0>live chat para obtener más información.", @@ -1200,6 +1206,7 @@ "1442747050": "Cantidad de pérdida: <0>{{profit}}", "1442840749": "Entero aleatorio", "1443478428": "La propuesta seleccionada no existe", + "1444843056": "Corporate Affairs Commission", "1445592224": "Accidentalmente nos proporcionó otra dirección de correo electrónico (tal vez una de trabajo o una personal diferente a la que pensaba utilizar).", "1446742608": "Haga clic aquí si alguna vez necesita repetir este tour.", "1449462402": "En revisión", @@ -1529,6 +1536,7 @@ "1817154864": "Este bloque le da un número aleatorio dentro de un rango establecido.", "1820242322": "p.ej. Estados Unidos", "1820332333": "Recargar", + "1821818748": "Enter Driver License Reference number", "1823177196": "Más popular", "1824193700": "Este bloque le proporciona el último dígito del último valor de tick.", "1824292864": "Call", @@ -1582,6 +1590,7 @@ "1873838570": "Por favor verifique su dirección", "1874481756": "Use este bloque para comprar el contrato específico que desea. Puede agregar varios bloques de compra junto con bloques condicionales para definir sus condiciones de compra. Este bloque solo se puede usar dentro del bloque Condiciones de compra.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Minutos", "1877225775": "Su prueba de domicilio se ha verificado", "1877272122": "Hemos limitado el pago máximo para cada contrato y varía para cada activo. Su contrato se cerrará automáticamente cuando se alcance el pago máximo.", @@ -1619,6 +1628,7 @@ "1914014145": "Hoy", "1914270645": "Intervalo de velas predeterminado: {{ candle_interval_type }}", "1914725623": "Suba la página que contiene su foto.", + "1917178459": "Bank Verification Number", "1917523456": "Este bloque envía un mensaje a un canal de Telegram. Tendrá que crear su propio bot de Telegram para usar este bloque.", "1917804780": "Usted perderá el acceso a su cuenta de Opciones cuando se cierre, así que asegúrese de retirar todos sus fondos. (Si tiene una cuenta de CFD, también puede transferir los fondos de su cuenta de Opciones a su cuenta de CFD)", "1918633767": "La segunda línea de dirección no está en un formato adecuado.", @@ -1637,7 +1647,6 @@ "1924365090": "Quizás más tarde", "1924765698": "Lugar de nacimiento*", "1925090823": "Lo sentimos, el trading no está disponible en {{clients_country}}.", - "1927244779": "Utilice solo los siguientes caracteres especiales: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Situación laboral", "1929379978": "Cambie entre su cuenta demo y la real.", @@ -1830,6 +1839,9 @@ "2145995536": "Crear una cuenta nueva", "2146336100": "en el texto %1 obtener %2", "2146892766": "Experiencia en trading con opciones binarias", + "-1515286538": "Ingrese su número de documento. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Se requiere la primera línea de dirección", "-242734402": "Solo {{max}} caracteres, por favor.", "-378415317": "Se requiere el estado", @@ -2013,6 +2025,7 @@ "-213009361": "Autenticación de dos factores", "-1214803297": "Dashboard-only path", "-526636259": "Error 404", + "-1694758788": "Enter your document number", "-1030759620": "Funcionarios de gobierno", "-1196936955": "Suba una captura de pantalla de su nombre y dirección de correo electrónico desde la sección de información personal.", "-1286823855": "Suba su estado de cuenta móvil con su nombre y número de teléfono.", @@ -2081,7 +2094,6 @@ "-1088324715": "Revisaremos sus documentos y le avisaremos de su estado en un plazo de 1 a 3 días laborables.", "-329713179": "Ok", "-1176889260": "Seleccione un tipo de documento.", - "-1515286538": "Ingrese su número de documento. ", "-1785463422": "Verifique su identidad", "-78467788": "Seleccione el tipo de documento e ingrese el número de identificación.", "-1117345066": "Elija el tipo de documento", @@ -2183,7 +2195,6 @@ "-863770104": "Tenga en cuenta que al hacer clic en «OK», puede estar exponiéndose a riesgos. Es posible que no tenga los conocimientos o la experiencia para evaluar o mitigar adecuadamente estos riesgos, que pueden ser importantes, incluido el riesgo de perder la totalidad de la suma que ha invertido.", "-1292808093": "Experiencia de trading", "-1458676679": "Debería ingresar de 2 a 50 caracteres.", - "-1166111912": "Utilice solo los siguientes caracteres especiales: {{ permitted_characters }}", "-884768257": "Debería ingresar de 0 a 35 caracteres.", "-2113555886": "Se permiten solo letras, números, espacios y guiones.", "-874280157": "Este número de identificación fiscal (NIF) no es válido. Puede continuar utilizándolo, pero para facilitar futuros procesos de pago, se requerirá información fiscal válida.", @@ -2445,8 +2456,8 @@ "-172277021": "El cajero está bloqueado para retiros", "-1624999813": "Parece que no tiene comisiones que retirar en este momento. Puede efectuar retiros una vez que haya recibido sus comisiones.", "-197251450": "¿No quiere comerciar en {{currency_code}}? Puede abrir otra cuenta de criptomoneda.", - "-1900848111": "Esta es su {{currency_code}} cuenta.", - "-749765720": "La moneda de su cuenta fiat está configurada en {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Gestione sus cuentas ", "-1463156905": "Aprenda más sobre los métodos de pago", "-1077304626": "Cantidad ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Aparentemente no tienes una cuenta real {{regulation}}. Para utilizar el cajero, cambia a tu cuenta real {{active_real_regulation}}, o crea una cuenta real {{regulation}}.", "-1858915164": "¿Está listo para depositar y operar de verdad?", "-162753510": "Agregar cuenta real", - "-7381040": "Permanecer en la demo", "-1208519001": "Necesita una cuenta real de Deriv para acceder al cajero.", "-175369516": "Bienvenidos a Deriv X", "-939154994": "Bienvenidos al panel de Deriv MT5", diff --git a/packages/translations/src/translations/fr.json b/packages/translations/src/translations/fr.json index 39bb8d7e8d44..bd08b1f8d1ec 100644 --- a/packages/translations/src/translations/fr.json +++ b/packages/translations/src/translations/fr.json @@ -391,6 +391,7 @@ "489768502": "Changer le mot de passe investisseur", "491603904": "Navigateur web non supporté", "492198410": "Assurez-vous que tout est clair", + "492566838": "Taxpayer identification number", "497518317": "Fonction qui renvoie une valeur", "498144457": "Une facture de services publics récente (électricité, eau ou gaz, par exemple)", "498562439": "ou", @@ -433,6 +434,7 @@ "551569133": "En savoir plus sur les limites de trading", "554410233": "Ceci est un mot de passe commun parmi les 10 premiers", "555351771": "Après avoir défini les paramètres du trade et les options du trade, vous pouvez demander à votre bot d'acheter des contrats lorsque des conditions spécifiques sont remplies. Pour ce faire, vous pouvez utiliser des blocs conditionnels et des blocs d'indicateurs pour aider votre bot à prendre des décisions.", + "555881991": "National Identity Number Slip", "556264438": "Intervalle de temps", "559224320": "Notre outil classique de \"glisser-déposer\" pour créer des robots de trading, avec des graphiques de trading contextuels, pour les utilisateurs avancés.", "561982839": "Changer votre devise", @@ -557,12 +559,14 @@ "693396140": "Offre annulation (expiré)", "696870196": "- Heure d'ouverture: l'horodatage d'ouverture", "697630556": "Ce marché est actuellement fermé.", + "698037001": "National Identity Number", "698748892": "Essayons encore", "699159918": "1. Dépôt de plaintes", "700259824": "Devise du compte", "701034660": "Nous sommes toujours en train de traiter votre demande de retrait.<0 />Veuillez attendre que la transaction soit terminée avant de désactiver votre compte.", "701462190": "Point d'entrée", "701647434": "Rechercher une chaîne", + "702451070": "National ID (No Photo)", "705299518": "Ensuite, téléchargez la page de votre passeport avec votre photo.", "706413212": "Pour accéder à la caisse, vous êtes maintenant dans votre compte {{regulation}} {{currency}} ({{loginid}}).", "706727320": "Fréquence de trading d’options binaires", @@ -892,6 +896,7 @@ "1096175323": "Vous aurez besoin d'un compte Deriv", "1098147569": "Achetez des matières premières ou des actions d'une entreprise.", "1098622295": "\"i\" commence par la valeur 1, et il sera augmenté de 2 à chaque itération. La boucle se répétera jusqu'à ce que «i» atteigne la valeur 12, puis la boucle se termine.", + "1100133959": "National ID", "1100870148": "Pour en savoir plus sur les limites de compte et comment elles s'appliquent, veuillez consulter le <0>Centre d'aide.", "1101560682": "empiler", "1101712085": "Prix d'achat", @@ -1182,6 +1187,7 @@ "1422060302": "Ce bloc remplace un élément spécifique d'une liste par un autre élément donné. Il peut également insérer le nouvel élément dans la liste à une position spécifique.", "1422129582": "Tous les détails doivent être clairs - rien de flou", "1423082412": "Dernier chiffre", + "1423296980": "Enter your SSNIT number", "1424741507": "Voir plus", "1424779296": "Si vous avez récemment utilisé des bots mais que vous ne les voyez pas dans cette liste, c'est peut-être parce que vous:", "1428657171": "Vous pouvez uniquement effectuer des dépôts. Veuillez nous contacter via <0>le chat en direct pour plus d'informations.", @@ -1200,6 +1206,7 @@ "1442747050": "Montant de la perte: <0>{{profit}}", "1442840749": "Entier aléatoire", "1443478428": "La proposition sélectionnée n'existe pas", + "1444843056": "Corporate Affairs Commission", "1445592224": "Vous nous avez accidentellement donné une autre adresse électronique (généralement une adresse professionnelle ou personnelle au lieu de celle que vous vouliez).", "1446742608": "Cliquez ici si vous devez recommencer cette visite.", "1449462402": "En cours d'examen", @@ -1529,6 +1536,7 @@ "1817154864": "Ce bloc vous donne un nombre aléatoire dans une plage définie.", "1820242322": "exemple Etats Unis", "1820332333": "Recharger", + "1821818748": "Enter Driver License Reference number", "1823177196": "Le plus populaire", "1824193700": "Ce bloc vous donne le dernier chiffre de la dernière valeur de tick.", "1824292864": "D'achat", @@ -1582,6 +1590,7 @@ "1873838570": "Merci de vérifier votre adresse", "1874481756": "Utilisez ce bloc pour acheter le contrat spécifique que vous souhaitez. Vous pouvez ajouter plusieurs blocs d'achat ainsi que des blocs conditionnels pour définir vos conditions d'achat. Ce bloc ne peut être utilisé que dans le bloc Conditions d'achat.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Minutes", "1877225775": "Votre justificatif de domicile est vérifié", "1877272122": "Nous avons limité le paiement maximum pour chaque contrat, et il varie pour chaque actif. Votre contrat sera automatiquement fermé lorsque le paiement maximum sera atteint.", @@ -1619,6 +1628,7 @@ "1914014145": "Aujourd'hui", "1914270645": "Intervalle de bougie par défaut: {{ candle_interval_type }}", "1914725623": "Téléchargez la page avec votre photo.", + "1917178459": "Bank Verification Number", "1917523456": "Ce bloc envoie un message à un canal Telegram. Vous devrez créer votre propre robot Telegram pour utiliser ce bloc.", "1917804780": "Vous perdrez l'accès à votre compte Options lorsqu'il sera fermé, veillez donc à retirer tous vos fonds. (Si vous avez un compte CFD, vous pouvez également transférer les fonds de votre compte Options vers votre compte CFD.)", "1918633767": "La deuxième ligne d'adresse n'est pas dans un format approprié.", @@ -1637,7 +1647,6 @@ "1924365090": "Peut-être plus tard", "1924765698": "Lieu de naissance*", "1925090823": "Désolé, le trading n'est pas disponible en {{clients_country}}.", - "1927244779": "N'utilisez que les caractères spéciaux suivants : . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Statut d’emploi", "1929379978": "Basculez entre votre compte démo et votre compte réel.", @@ -1830,6 +1839,9 @@ "2145995536": "Créer un nouveau compte", "2146336100": "dans le texte %1 avoir %2", "2146892766": "Expérience de trading d’options binaires", + "-1515286538": "Veuillez entrer le numéro de votre document. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "La première ligne d'adresse est requise", "-242734402": "Uniquement {{max}} caractères, s'il vous plaît.", "-378415317": "Pays est requis", @@ -2013,6 +2025,7 @@ "-213009361": "L'Authentification deux facteurs", "-1214803297": "Unique chemin d'accès au tableau de bord", "-526636259": "Erreur 404", + "-1694758788": "Enter your document number", "-1030759620": "Agents de l’État", "-1196936955": "Téléchargez une capture d'écran de votre nom et de votre adresse e-mail depuis la section des informations personnelles.", "-1286823855": "Téléchargez votre relevé de facture mobile indiquant votre nom et votre numéro de téléphone.", @@ -2081,7 +2094,6 @@ "-1088324715": "Nous examinerons vos documents et vous informerons de leur statut dans un délai de 1 à 3 jours ouvrés.", "-329713179": "Ok", "-1176889260": "Veuillez sélectionner un type de document.", - "-1515286538": "Veuillez entrer le numéro de votre document. ", "-1785463422": "Vérifiez Votre Identité", "-78467788": "Veuillez sélectionner le type de document et saisir le numéro du document.", "-1117345066": "Choisissez le type de document", @@ -2183,7 +2195,6 @@ "-863770104": "Veuillez noter qu'en cliquant sur « OK », vous risquez de vous exposer à des risques. Vous n'avez peut-être pas les connaissances ou l'expérience nécessaires pour évaluer ou atténuer correctement ces risques, qui peuvent être importants, y compris le risque de perdre la totalité de la somme que vous avez investie.", "-1292808093": "Expérience du trading", "-1458676679": "Vous devez saisir 2 à 50 caractères.", - "-1166111912": "N'utilisez que les caractères spéciaux suivants : {{ permitted_characters }}", "-884768257": "Vous devez saisir 0 à 35 caractères.", "-2113555886": "Seuls les lettres, les chiffres, trait d'union et tiret sont autorisés.", "-874280157": "Ce numéro d'identification fiscale (NIF) n'est pas valide. Vous pouvez continuer à l'utiliser, mais pour faciliter les futurs processus de paiement, des informations fiscales valides seront nécessaires.", @@ -2445,8 +2456,8 @@ "-172277021": "Caisse est bloqué pour les retraits", "-1624999813": "Il semble que vous n'ayez aucune commission à retirer pour le moment. Vous pouvez effectuer des retraits une fois que vous avez reçu vos commissions.", "-197251450": "Vous ne voulez pas trader en {{currency_code}} ? Vous pouvez ouvrir un autre compte de cryptomonnaie.", - "-1900848111": "Il s'agit de votre compte {{currency_code}}.", - "-749765720": "La devise de votre compte fiat est configurée sur {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Gérer vos comptes ", "-1463156905": "En savoir plus sur les modes de paiement", "-1077304626": "Montant ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Il semble que vous n'ayez pas de vrai compte {{regulation}} . Pour utiliser le caissier, passez à votre compte réel {{active_real_regulation}} ou créez un compte {{regulation}} comptes réels.", "-1858915164": "Prêt à déposer et à négocier pour de vrai?", "-162753510": "Ajouter un compte réel", - "-7381040": "Restez dans le compte démo", "-1208519001": "Vous devez disposer d'un compte Deriv réel pour accéder à la caisse.", "-175369516": "Bienvenue sur Deriv X", "-939154994": "Bienvenue sur votre tableau de bord Deriv MT5", diff --git a/packages/translations/src/translations/id.json b/packages/translations/src/translations/id.json index 758bd5aa4ef9..f01b6f6a6794 100644 --- a/packages/translations/src/translations/id.json +++ b/packages/translations/src/translations/id.json @@ -391,6 +391,7 @@ "489768502": "Mengubah kata sandi investor", "491603904": "Browser yang tidak tersedia", "492198410": "Pastikan semuanya jelas", + "492566838": "Taxpayer identification number", "497518317": "Fungsi yang memberi nilai", "498144457": "Tagihan utilitas terbaru (seperti listrik, air, atau gas)", "498562439": "atau", @@ -433,6 +434,7 @@ "551569133": "Pelajari lebih lanjut tentang batasan trading", "554410233": "Ini adalah 10 kata sandi umum teratas", "555351771": "Setelah menentukan parameter dan opsi kontrak, Anda mungkin ingin menginstruksikan bot Anda untuk membeli kontrak ketika kondisi tertentu terpenuhi. Untuk melakukan hal tersebut maka Anda dapat menggunakan blok bersyarat dan blok indikator untuk membantu bot Anda dalam membuat keputusan.", + "555881991": "National Identity Number Slip", "556264438": "Interval waktu", "559224320": "Peralatan klasik “tarik-dan-lepas” untuk membuat bot, menampilkan pop up grafik trading, untuk pengguna lanjutan.", "561982839": "Ubah mata uang Anda", @@ -557,12 +559,14 @@ "693396140": "Pembatalan transaksi (berakhir)", "696870196": "- Waktu buka: catatan waktu pembukaan", "697630556": "Pasar ini sedang ditutup.", + "698037001": "National Identity Number", "698748892": "Mari kita coba lagi", "699159918": "1. Pengajuan pengaduan", "700259824": "Mata uang akun", "701034660": "Kami sedang memproses permohonan penarikan dana Anda.<0 />Mohon tunggu hingga transaksi selesai sebelum menonaktifkan akun Anda.", "701462190": "Spot masuk", "701647434": "Cari string", + "702451070": "National ID (No Photo)", "705299518": "Selanjutnya, unggah halaman paspor yang berisi foto Anda.", "706413212": "Untuk mengakses kasir, Anda sekarang berada pada akun {{regulation}} {{currency}} ({{loginid}}) Anda.", "706727320": "Frekuensi trading opsi binary", @@ -892,6 +896,7 @@ "1096175323": "Anda memerlukan akun Deriv", "1098147569": "Membeli komoditas atau saham perusahaan.", "1098622295": "\"i\" dimulai dengan nilai 1, dan akan ditingkatkan dengan 2 pada setiap iterasi. Loop akan mengulang hingga \"i\" mencapai nilai 12, dan kemudian loop akan dihentikan.", + "1100133959": "National ID", "1100870148": "Untuk mempelajari lebih lanjut tentang batas akun dan bagaimana penerapannya, silakan kunjungi <0>Pusat Bantuan..", "1101560682": "tumpukan", "1101712085": "Harga Beli", @@ -1182,6 +1187,7 @@ "1422060302": "Blok ini menggantikan item tertentu pada daftar dengan item lain yang diberikan. Blok ini juga dapat memasukkan item baru pada daftar posisi tertentu.", "1422129582": "Semua detail harus jelas - tidak ada yang buram", "1423082412": "Digit Terakhir", + "1423296980": "Enter your SSNIT number", "1424741507": "Lihat selengkapnya", "1424779296": "Jika Anda baru saja menggunakan bot namun tidak ditampilkan pada daftar ini, hal tersebut mungkin berhubung Anda:", "1428657171": "Anda hanya dapat mendeposit. Hubungi kami via <0>obrolan langsung untuk info lebih lanjut.", @@ -1200,6 +1206,7 @@ "1442747050": "Jumlah kerugian: <0>{{profit}}", "1442840749": "Bilangan bulat acak", "1443478428": "Proposal yang dipilih tidak tersedia", + "1444843056": "Corporate Affairs Commission", "1445592224": "Anda secara tidak sengaja memberi kami alamat email lain (Biasanya alamat email kantor atau alamat email pribadi dan bukan alamat email yang Anda maksud).", "1446742608": "Klik di sini jika Anda perlu mengulang tur ini.", "1449462402": "Peninjauan", @@ -1529,6 +1536,7 @@ "1817154864": "Blok ini memberi Anda nomor acak dari dalam kisaran yang ditetapkan.", "1820242322": "contoh Amerika Serikat", "1820332333": "Isi ulang", + "1821818748": "Enter Driver License Reference number", "1823177196": "Paling populer", "1824193700": "Blok ini memberi Anda digit terakhir dari nilai tik terbaru.", "1824292864": "Call", @@ -1582,6 +1590,7 @@ "1873838570": "Mohon verifikasi alamat Anda", "1874481756": "Gunakan blok ini untuk membeli kontrak tertentu sesuai dengan keinginan Anda. Anda dapat menambahkan beberapa blok pembelian secara bersamaan dengan blok bersyarat untuk menentukan kondisi pembelian. Blok ini hanya dapat digunakan pada blok kondisi pembelian.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Menit", "1877225775": "Bukti alamat Anda telah terverifikasi", "1877272122": "Kami telah membatasi jumlah maksimum hasil bagi setiap kontrak, dan batasan tersebut berbeda pada setiap aset. Kontrak Anda akan ditutup secara otomatis setelah jumlah maksimum hasil tercapai.", @@ -1619,6 +1628,7 @@ "1914014145": "Hari ini", "1914270645": "Interval Candle Standar: {{ candle_interval_type }}", "1914725623": "Unggah halaman yang berisi foto Anda.", + "1917178459": "Bank Verification Number", "1917523456": "Blok ini mengirim pesan ke saluran Telegram. Anda perlu membuat bot Telegram Anda sendiri untuk menggunakan blok ini.", "1917804780": "Anda tidak akan dapat mengakses akun Opsi setelah akun tersebut ditutup, pastikan untuk menarik semua dana Anda. (Jika Anda memiliki akun CFD, Anda dapat mentransfer dana tersebut dari akun Opsi.)", "1918633767": "Baris kedua alamat tidak dalam format yang benar.", @@ -1637,7 +1647,6 @@ "1924365090": "Mungkin nanti", "1924765698": "Tempat lahir*", "1925090823": "Maaf, trading ini tidak tersedia di {{clients_country}}.", - "1927244779": "Hanya gunakan karakter khusus berikut: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Status Pekerjaan", "1929379978": "Pindah dari akun demo ke akun riil Anda.", @@ -1830,6 +1839,9 @@ "2145995536": "Daftar akun baru", "2146336100": "dalam teks %1 dapatkan %2", "2146892766": "Pengalaman trading opsi Binary", + "-1515286538": "Mohon masukkan nomor dokumen. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Baris pertama alamat diperlukan", "-242734402": "Mohon, hanya {{max}} karakter.", "-378415317": "Provinsi diperlukan", @@ -2013,6 +2025,7 @@ "-213009361": "Autentikasi dua faktor", "-1214803297": "Jalur khusus dasbor", "-526636259": "Error 404", + "-1694758788": "Enter your document number", "-1030759620": "Pegawai Pemerintah", "-1196936955": "Unggah tangkapan layar nama dan alamat email Anda dari bagian informasi pribadi.", "-1286823855": "Unggah laporan tagihan seluler Anda yang menunjukkan nama dan nomor telepon Anda.", @@ -2081,7 +2094,6 @@ "-1088324715": "Kami akan meninjau dokumen dan mengabari Anda dalam tempo 1 - 3 hari kerja.", "-329713179": "Ok", "-1176889260": "Mohon pilih jenis dokumen.", - "-1515286538": "Mohon masukkan nomor dokumen. ", "-1785463422": "Verifikasi identitas Anda", "-78467788": "Pilih jenis dokumen dan masukkan nomor ID.", "-1117345066": "Pilih jenis dokumen", @@ -2183,7 +2195,6 @@ "-863770104": "Mohon diketahui bahwa dengan mengklik 'OK', Anda mungkin mengekspos diri Anda pada risiko. Anda mungkin tidak memiliki pengetahuan atau pengalaman untuk menilai atau mengurangi risiko ini dengan benar, yang mungkin signifikan, termasuk risiko kehilangan seluruh jumlah yang telah Anda investasikan.", "-1292808093": "Pengalaman Trading", "-1458676679": "Anda harus memasukkan 2-50 karakter.", - "-1166111912": "Hanya gunakan karakter khusus berikut: {{ permitted_characters }}", "-884768257": "Anda harus memasukkan 0-35 karakter.", "-2113555886": "Hanya huruf, angka, spasi, dan tanda hubung yang diperbolehkan.", "-874280157": "Nomor Identifikasi Pajak (TIN) ini tidak berlaku. Anda dapat menggunakannya, namun untuk memfasilitasi proses pembayaran dimasa hadapan, informasi pajak yang berlaku akan diperlukan.", @@ -2445,8 +2456,8 @@ "-172277021": "Kasir dikunci untuk penarikan", "-1624999813": "Sepertinya Anda tidak memiliki komisi untuk ditarik saat ini. Anda dapat melakukan penarikan setelah menerima komisi.", "-197251450": "Apakah Anda ingin bertrading dalam {{currency_code}}? Anda dapat mendaftar akun kripto lainnya.", - "-1900848111": "Berikut adalah akun {{currency_code}} Anda.", - "-749765720": "Mata uang akun fiat Anda telah diatur ke {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Kelola akun Anda ", "-1463156905": "Metode pembayaran lebih lanjut", "-1077304626": "Jumlah ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Sepertinya Anda tidak memiliki akun {{regulation}} sungguhan. Untuk menggunakan kasir, beralihlah ke {{active_real_regulation}} akun riil Anda, atau dapatkan {{regulation}} akun riil.", "-1858915164": "Siap untuk deposit dan perdagangan nyata?", "-162753510": "Tambahkan akun riil", - "-7381040": "Tinggal di demo", "-1208519001": "Anda membutuhkan akun Deriv nyata untuk mengakses kasir.", "-175369516": "Selamat datang di Deriv X", "-939154994": "Selamat datang di dasbor MT5 Deriv", diff --git a/packages/translations/src/translations/it.json b/packages/translations/src/translations/it.json index ddcaeae6d539..925dad784cee 100644 --- a/packages/translations/src/translations/it.json +++ b/packages/translations/src/translations/it.json @@ -391,6 +391,7 @@ "489768502": "Modifica la password investitore", "491603904": "Browser non supportato", "492198410": "Assicurati che tutto sia chiaro", + "492566838": "Taxpayer identification number", "497518317": "Funzione che restituisce un valore", "498144457": "Una bolletta delle utenze recente (ad es. elettricità, acqua o gas)", "498562439": "o", @@ -433,6 +434,7 @@ "551569133": "Scopri di più sui limiti relativi ai trade", "554410233": "Questa è una delle 10 password più usate", "555351771": "Dopo aver definito i parametri e le opzioni di trading, potresti istruire il tuo bot ad acquistare contratti quando si verificano specifiche condizioni. A tal proposito, potrai utilizzare blocchi condizionali e indicatori per aiutare il tuo bot a prendere decisioni.", + "555881991": "National Identity Number Slip", "556264438": "Intervallo di tempo", "559224320": "Lo strumento “trascina” per creare bot per il trading, con grafici a comparsa, per utenti esperti.", "561982839": "Cambia la valuta", @@ -557,12 +559,14 @@ "693396140": "Cancellazione (termine scaduto)", "696870196": "- Orario d'apertura: il marcatore temporale d'inizio", "697630556": "Questo mercato è attualmente chiuso.", + "698037001": "National Identity Number", "698748892": "Riprova", "699159918": "1. Presentazione del reclamo", "700259824": "Valuta del conto", "701034660": "Il prelievo è ancora in fase di esecuzione.<0 />Attendi il completamento dell'operazione prima di disattivare il conto.", "701462190": "Prezzo d'ingresso", "701647434": "Cerca stringa", + "702451070": "National ID (No Photo)", "705299518": "Poi, carica la pagina del passaporto che contiene la tua foto.", "706413212": "Per accedere alla cassa, ora sei nel tuo conto {{regulation}} ({{loginid}}) in {{currency}}.", "706727320": "Frequenza del trading di opzioni binarie", @@ -892,6 +896,7 @@ "1096175323": "Occorre un conto Deriv", "1098147569": "Acquistare materie prime o azioni di una società.", "1098622295": "\"i\" inizia con il valore 1, e aumenta di 2 a ogni interazione. La ripetizione si ripete fino a quando \"i\" raggiunge il valore di 12, dopodiché termina.", + "1100133959": "National ID", "1100870148": "Per maggiori informazioni sui limiti ai conti e sulla loro modalità di applicazione, vai su <0>Assistenza clienti..", "1101560682": "gruppo", "1101712085": "Prezzo d'acquisto", @@ -1182,6 +1187,7 @@ "1422060302": "Questo blocco sostituisce un elemento specifico di un elenco con un altro elemento determinato. Può inoltre inserire il nuovo elemento in una posizione specifica dell'elenco.", "1422129582": "I dettagli devono essere chiari e non sfocati", "1423082412": "Ultima cifra", + "1423296980": "Enter your SSNIT number", "1424741507": "Scopri di più", "1424779296": "Hai usato bot di recente ma non compaiono in questa lista. Potrebbe dipendere dal fatto che:", "1428657171": "Puoi effettuare solo depositi. Contattaci tramite <0>chat live per ulteriori informazioni.", @@ -1200,6 +1206,7 @@ "1442747050": "Totale perdita: <0>{{profit}}", "1442840749": "Numero intero casuale", "1443478428": "La proposta selezionata non esiste", + "1444843056": "Corporate Affairs Commission", "1445592224": "Hai erroneamente indicato un altro indirizzo e-mail (normalmente quello di lavoro o personale, invece di quello che intendevi usare).", "1446742608": "Fai clic qui se vorrai petere questo tour.", "1449462402": "In fase di revisione", @@ -1529,6 +1536,7 @@ "1817154864": "Questo blocco fornisce un numero casuale entro un determinato intervallo.", "1820242322": "per es. Stati Uniti", "1820332333": "Ricarica", + "1821818748": "Enter Driver License Reference number", "1823177196": "Più popolare", "1824193700": "Questo blocco fornisce l'ultima cifra del valore dell'ultimo tick.", "1824292864": "Call", @@ -1582,6 +1590,7 @@ "1873838570": "Verifica il tuo indirizzo", "1874481756": "Utilizza questo blocco per acquistare un contratto specifico. È possibile aggiungere molteplici blocchi d'acquisto assieme a blocchi condizionali per stabilire le condizioni d'acquisto. Questo blocco può solo essere utilizzato nell'ambito del blocco delle condizioni d'acquisto.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Minuti", "1877225775": "La verifica dell'indirizzo è andata a buon fine", "1877272122": "Abbiamo limitato il pagamento massimo per ogni contratto in base a ogni asset. Il contratto verrà chiuso automaticamente quando verrà raggiunto il pagamento massimo.", @@ -1619,6 +1628,7 @@ "1914014145": "Oggi", "1914270645": "Intervallo standard della candela: {{ candle_interval_type }}", "1914725623": "Carica la pagina che contiene la tua foto.", + "1917178459": "Bank Verification Number", "1917523456": "Questo blocco invia un messaggio al canale Telegram. Sarà necessario creare un bot Telegram per utilizzarlo.", "1917804780": "Non potrai più accedere al conto per opzioni quando sarà chiuso: assicurati pertanto di prelevare tutti i fondi (se hai un conto per CFD, puoi trasferire i fondi su questo conto).", "1918633767": "La seconda riga dell'indirizzo non è in un formato valido.", @@ -1637,7 +1647,6 @@ "1924365090": "Forse più tardi", "1924765698": "Luogo di nascita*", "1925090823": "Siamo spiacenti, non è possibile fare trading in {{clients_country}}.", - "1927244779": "Usa solo i seguenti caratteri speciali: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Occupazione", "1929379978": "Passa dal tuo conto demo a quello reale.", @@ -1830,6 +1839,9 @@ "2145995536": "Crea un nuovo account", "2146336100": "nel testo %1 ricevi %2", "2146892766": "Esperienza di trading di opzioni binarie", + "-1515286538": "Inserisci il numero di documento. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "La prima riga dell'indirizzo è obbligatoria", "-242734402": "Solo {{max}} caratteri.", "-378415317": "Stato obbligatorio", @@ -2013,6 +2025,7 @@ "-213009361": "Autenticazione a due fattori", "-1214803297": "Dashboard-only path", "-526636259": "Errore 404", + "-1694758788": "Enter your document number", "-1030759620": "Funzionari governativi", "-1196936955": "Carica uno screenshot del tuo nome e indirizzo email dalla sezione delle informazioni personali.", "-1286823855": "Carica l'estratto conto della bolletta del cellulare con il tuo nome e numero di telefono.", @@ -2081,7 +2094,6 @@ "-1088324715": "Analizzeremo i documenti e ti aggiorneremo sullo stato dell'operazione entro 1-3 giorni lavorativi.", "-329713179": "Ok", "-1176889260": "Seleziona un tipo di documento.", - "-1515286538": "Inserisci il numero di documento. ", "-1785463422": "Verifica l'identità", "-78467788": "Seleziona il tipo di documento e inserisci il numero dell'ID.", "-1117345066": "Scegli il tipo di documento", @@ -2183,7 +2195,6 @@ "-863770104": "Tieni presente che facendo clic su «Ok», potresti esporti a rischi. Potresti non avere le conoscenze o l'esperienza per valutare o mitigare correttamente tali rischi, che possono essere significativi, come il rischio di perdere l'intera somma investita.", "-1292808093": "Esperienza di trading", "-1458676679": "È necessario inserire da 2 a 50 caratteri.", - "-1166111912": "Usa solo i seguenti caratteri speciali: {{ permitted_characters }}", "-884768257": "È necessario inserire da 0 a 35 caratteri.", "-2113555886": "Sono consentiti solo numeri, lettere, spazi e trattini.", "-874280157": "Il numero di identificazione fiscale (TIN) non è valido. Per il momento puoi continuare a usarlo, ma per facilitare i pagamenti futuri serviranno dati fiscali validi.", @@ -2445,8 +2456,8 @@ "-172277021": "Cassiere bloccato per i prelievi", "-1624999813": "Sembra che tu non abbia commissioni da prelevare in questo momento. Puoi effettuare prelievi una volta ricevute le commissioni.", "-197251450": "Non vuoi effettuare trading in {{currency_code}}? Puoi aprire un altro conto di criptovalute.", - "-1900848111": "Questo è il tuo {{currency_code}} conto.", - "-749765720": "Il conto fiat è impostato in {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Gestisci i tuoi conti ", "-1463156905": "Scopri di più sulle modalità di pagamento", "-1077304626": "Importo ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Sembra che tu non abbia un vero conto {{regulation}}. Per utilizzare la cassa, passa al tuo conto reale {{active_real_regulation}} o ottieni un conto reale {{regulation}}.", "-1858915164": "Sei pronto ad effettuare depositi e fare trading sul serio?", "-162753510": "Aggiungi conto reale", - "-7381040": "Rimani in versione demo", "-1208519001": "È necessario un conto Deriv reale per accedere alla cassa.", "-175369516": "Benvenuto su Deriv X", "-939154994": "Benvenuto sulla dashboard di Deriv MT5", diff --git a/packages/translations/src/translations/ko.json b/packages/translations/src/translations/ko.json index e1fbf3fcb949..fac8e4b63ee4 100644 --- a/packages/translations/src/translations/ko.json +++ b/packages/translations/src/translations/ko.json @@ -391,6 +391,7 @@ "489768502": "투자자 비밀번호 변경", "491603904": "지원되지 않는 브라우저", "492198410": "모든 것이 명확한지 확인하세요", + "492566838": "Taxpayer identification number", "497518317": "값을 불러오는 함수", "498144457": "최근 공과금 청구서 (예: 전기, 수도 또는 가스)", "498562439": "또는", @@ -433,6 +434,7 @@ "551569133": "거래 한도에 대해 더 알아보세요", "554410233": "이 비밀번호는 가장 흔한 비밀번호 상위 10위에 들어가는 흔한 비밀번호입니다", "555351771": "거래 매개변수와 거래 옵션을 정의한 후, 특정 조건이 충족되면 귀하의 봇이 계약을 구매할 수 있도록 지시하고자 할 수 있습니다. 이를 실행하기 위해 조건부 블록과 인디케이터 블록을 사용하여 봇이 결정을 내리도록 도울 수 있습니다.", + "555881991": "National Identity Number Slip", "556264438": "시간 간격", "559224320": "트레이딩 봇을 생성하기 위한 당사의 전형적인 “드래그 앤 드롭” 툴로, 이는 경험 많은 사용자를 위한 팝업 트레이딩 차트의 기능을 제공합니다.", "561982839": "귀하의 통화를 변경하세요", @@ -557,12 +559,14 @@ "693396140": "거래 취소 (만료)", "696870196": "- 시작 시간: 시작 타임 스탬프", "697630556": "이 시장은 현재 개설되어 있지 않습니다.", + "698037001": "National Identity Number", "698748892": "다시 시도해봅시다", "699159918": "1. 불만 처리", "700259824": "계좌 통화", "701034660": "우리는 귀하의 인출 요청을 여전히 처리중에 있습니다.<0 />귀하의 계좌를 비활성화시키기 이전에 해당 거래가 완료될 때까지 기다려주시기 바랍니다.", "701462190": "진입부", "701647434": "문자열 찾기", + "702451070": "National ID (No Photo)", "705299518": "다음으로, 귀하의 사진이 포함되어 있는 여권 페이지를 업로드하세요.", "706413212": "캐셔에 접근하기 위해서, 귀하께서는 {{regulation}} {{currency}} ({{loginid}}) 계정에 로그인되어 있습니다.", "706727320": "바이너리 옵션 거래빈도", @@ -892,6 +896,7 @@ "1096175323": "귀하께서는 Deriv 계좌가 필요합니다", "1098147569": "회사의 주식 또는 원자재를 구매하세요.", "1098622295": "\"i\"는 1의 값으로 시작하며 이는 매 반복마다 2씩 증가할 것입니다. 해당 반복은 \"i\"가 12의 값에 도달할 때까지 반복할 것이며 그 후 해당 반복은 종료될 것입니다.", + "1100133959": "National ID", "1100870148": "계좌제한과 계좌제한이 어떻게 적용되는지 더 알고 싶으시면. <0>헬프 센터로 가 주시기 바랍니다.", "1101560682": "스택", "1101712085": "구매 가격", @@ -1182,6 +1187,7 @@ "1422060302": "이 블록은 목록에서 특정한 아이템을 다른 주어진 아이템으로 대체합니다. 이는 또한 특정한 포지션에서 새로운 아이템을 목록에 넣을 수 있습니다.", "1422129582": "모든 세부정보는 명확해야 합니다 — 흐릿하지 않아야 합니다", "1423082412": "마지막 숫자", + "1423296980": "Enter your SSNIT number", "1424741507": "더 보기", "1424779296": "만약 귀하께서 최근에 봇을 사용하셨지만 이 목록에서 보실 수 없다면, 이는 아마 귀하때문일 수 있습니다:", "1428657171": "입금만 가능합니다.자세한 내용은 <0>실시간 채팅을 통해 문의하시기 바랍니다.", @@ -1200,6 +1206,7 @@ "1442747050": "손실액: <0>{{profit}}", "1442840749": "무작위 정수", "1443478428": "선택된 제안은 존재하지 않습니다", + "1444843056": "Corporate Affairs Commission", "1445592224": "귀하께서는 실수로 다른 이메일 주소를 우리에게 주셨습니다 (귀하께서 의도하셨던 것과는 달리 직장 및 개인적인 이메일 주소).", "1446742608": "이 투어를 반복해야 하는 경우 여기를 클릭하십시오.", "1449462402": "검토중입니다", @@ -1529,6 +1536,7 @@ "1817154864": "이 블록은 정해진 범위 내에서 무작위 숫자를 귀하에게 제공합니다.", "1820242322": "예: 미국", "1820332333": "완전 충전", + "1821818748": "Enter Driver License Reference number", "1823177196": "최고의 인기", "1824193700": "이 블록은 귀하에게 마지막 틱의 값에 대한 마지막 숫자를 제공합니다.", "1824292864": "콜 (Call)", @@ -1582,6 +1590,7 @@ "1873838570": "귀하의 주소를 인증해주세요", "1874481756": "귀하께서 희망하시는 구체적인 계약을 구매하기 위해 이 블록을 이용하세요. 귀하께서는 귀하의 구매 조건을 정의하기 위해 조건상의 블록과 함께 다양한 구매 블록을 추가하실 수 있습니다. 이 블록은 구매 조건 블록 내에서만 사용될 수 있습니다.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "분", "1877225775": "귀하의 주소증명이 인증되었습니다", "1877272122": "저희는 모든 계약에 대하여 최대 지불금에 제한을 두었으며 이는 각 자산마다 다릅니다. 최대 지불금에 도달되었을 때 귀하의 계약이 자동적으로 종료됩니다.", @@ -1619,6 +1628,7 @@ "1914014145": "오늘", "1914270645": "기본 캔들 간격: {{ candle_interval_type }}", "1914725623": "귀하의 사진이 포함되어 있는 페이지를 업로드하세요.", + "1917178459": "Bank Verification Number", "1917523456": "이 블록은 텔레그램 채널에 메시지를 전송합니다. 귀하께서는 이 블록을 사용하기 위해서 귀하만의 텔레그램 봇을 만드셔야 합니다.", "1917804780": "귀하께서는 귀하의 옵션 계좌가 닫히면 해당 계좌로 더이상 접근하실 수 없습니다. 그래서 귀하의 모든 자금을 확실히 인출해 주시기 바랍니다. (만약 귀하께서 CFD 계좌를 보유하고 있으시면, 귀하의 옵션 계좌에서 귀하의 CFD 계좌로 해당 자금을 송금하실 수도 있습니다.)", "1918633767": "주소의 두번째 줄이 적절한 형식으로 되어 있지 않습니다.", @@ -1637,7 +1647,6 @@ "1924365090": "다음 기회로 미룹니다", "1924765698": "출생지*", "1925090823": "죄송합니다, {{clients_country}} 에서 거래는 불가능합니다.", - "1927244779": "다음의 특수 문자들만 사용하세요: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "고용 상태", "1929379978": "데모 계정과 실제 계정 간에 전환하세요.", @@ -1830,6 +1839,9 @@ "2145995536": "새 계좌 생성하기", "2146336100": "%1 텍스트에서 %2 받기", "2146892766": "바이너리 옵션 거래 경험", + "-1515286538": "귀하의 문서 번호를 입력해 주시기 바랍니다. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "주소의 첫째 줄은 필수입력사항입니다", "-242734402": "{{max}} 개의 문자수만 부탁드립니다.", "-378415317": "주의 입력이 요구됩니다", @@ -2013,6 +2025,7 @@ "-213009361": "2단계 보안인증", "-1214803297": "대시보드 전용 패스", "-526636259": "404 에러", + "-1694758788": "Enter your document number", "-1030759620": "공무원", "-1196936955": "개인 정보 항목에서 귀하의 성명과 이메일 주소의 스크린샷을 업로드하세요.", "-1286823855": "귀하의 성명과 전화번호가 표시되어 있는 휴대전화 청구 명세서를 업로드하세요.", @@ -2081,7 +2094,6 @@ "-1088324715": "저희는 귀하의 문서를 검토한 후 해당 상태를 영업일 기준으로 1~3일 이내로 공지해 드리겠습니다.", "-329713179": "예", "-1176889260": "문서의 종류를 선택해 주시기 바랍니다.", - "-1515286538": "귀하의 문서 번호를 입력해 주시기 바랍니다. ", "-1785463422": "귀하의 신분을 인증받으세요", "-78467788": "문서 종류를 선택하시고 ID 번호를 입력해주시기 바랍니다.", "-1117345066": "문서 종류를 선택하세요", @@ -2183,7 +2195,6 @@ "-863770104": "‘확인’을 클릭하면 위험에 노출될 수 있다는 점에 유의하시기 바랍니다. 귀하께서는 이러한 위험을 적절하게 평가하거나 완화할 수 있는 지식이나 경험이 없을 수 있으며, 여기에 관련된 위험은 귀하께서 투자하신 금액 전체를 잃을 위험을 포함하여 상당할 수 있습니다.", "-1292808093": "트레이딩 경험", "-1458676679": "문자수는 2개에서 50개 사이로 입력하셔야 합니다.", - "-1166111912": "다음의 특수 문자들만 사용하세요: {{ permitted_characters }}", "-884768257": "문자수는 0에서 35개 사이로 입력하셔야 합니다.", "-2113555886": "오직 문자, 숫자, 띄어쓰기, 및 하이픈만 허용됩니다.", "-874280157": "해당 세금 식별 번호 (TIN) 는 유효하지 않습니다. 귀하께서는 해당 세금 식별 번호를 지속적으로 사용하실 수도 있으나, 향후 결제 절차들을 가능하게 하기 위해서는, 유효한 세금 정보가 요구될 것입니다.", @@ -2445,8 +2456,8 @@ "-172277021": "캐셔는 인출에 대해서는 잠금상태입니다", "-1624999813": "현재에는 귀하에게 인출 커미션이 따로 없는 것으로 보입니다. 귀하께서는 귀하의 커미션을 받으시면 인출이 가능하십니다.", "-197251450": "{{currency_code}} 로 거래하고 싶지 않으신가요? 귀하께서는 다른 암호화폐를 추가로 개설하실 수 있습니다.", - "-1900848111": "이는 귀하의 {{currency_code}} 계좌입니다.", - "-749765720": "귀하의 피아트 계좌 통화는 {{currency_code}} 로 설정되어 있습니다.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "귀하의 계좌들을 관리하세요 ", "-1463156905": "결제 방식에 대해 더 배워보세요", "-1077304626": "금액 ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "귀하께서는 실제 {{regulation}} 계정이 없는 것으로 보입니다. 캐셔를 사용하기 위해서는, 귀하의 {{active_real_regulation}} 실제 계정으로 전환하시거나 또는 {{regulation}} 실제 계정을 만드시기 바랍니다.", "-1858915164": "실제로 입금하고 거래할 준비가 되셨나요?", "-162753510": "실제 계정 추가", - "-7381040": "데모 상태 유지", "-1208519001": "캐셔에 접근하려면 실제 Deriv 계정이 필요합니다.", "-175369516": "Deriv X에 오신 것을 환영합니다", "-939154994": "Deriv MT5 대시보드에 오신 것을 환영합니다", diff --git a/packages/translations/src/translations/pl.json b/packages/translations/src/translations/pl.json index 16d5c228eec8..f4874fb995a8 100644 --- a/packages/translations/src/translations/pl.json +++ b/packages/translations/src/translations/pl.json @@ -391,6 +391,7 @@ "489768502": "Zmień hasło inwestora", "491603904": "Nieobsługiwana przeglądarka", "492198410": "Upewnij się, że wszystko jest dobrze widoczne", + "492566838": "Taxpayer identification number", "497518317": "Funkcja, która zwraca wartość", "498144457": "Rachunek za media z ostatnich miesięcy (np. za prąd, wodę lub gaz)", "498562439": "lub", @@ -433,6 +434,7 @@ "551569133": "Dowiedz się więcej o limitach handlowych", "554410233": "To hasło jest wśród 10 najpopularniejszych", "555351771": "Po określeniu parametrów i opcji zakładu, możesz poinstruować swój bot, aby dokonał zakupu kontraktu, gdy zostaną spełnione określone warunki. Aby to zrobić, możesz użyć bloków warunkowych i wskaźnikowych, które pomogą botowi podjąć decyzję.", + "555881991": "National Identity Number Slip", "556264438": "Odstęp czasu", "559224320": "Nasze klasyczne narzędzie „przeciągnij i upuść” do tworzenia botów handlowych z opcją wyskakujących okienek wykresów handlowych, dla zaawansowanych użytkowników.", "561982839": "Zmień swoją walutę", @@ -557,12 +559,14 @@ "693396140": "Anulowanie transakcji (wygasło)", "696870196": "- Czas otwarcia: otwierający znacznik czasu", "697630556": "Ten rynek jest obecnie zamknięty.", + "698037001": "National Identity Number", "698748892": "Spróbujmy jeszcze raz", "699159918": "1. Złożenie skargi", "700259824": "Waluta konta", "701034660": "Wciąż przetwarzamy Twój wniosek o wypłatę.<0 />Zanim deaktywujesz konto, zaczekaj, aż transakcja zostanie ukończona.", "701462190": "Pozycja wejściowa", "701647434": "Szukaj ciągu", + "702451070": "National ID (No Photo)", "705299518": "Następnie prześlij skan strony z paszportu zawierającej zdjęcie.", "706413212": "Aby uzyskać dostęp do kasjera, jesteś teraz na swoim koncie {{regulation}} {{currency}} ({{loginid}}).", "706727320": "Częstotliwość handlowania opcjami binarnymi", @@ -892,6 +896,7 @@ "1096175323": "Potrzebne Ci będzie konto Deriv", "1098147569": "Zakup towarów lub udziałów spółki.", "1098622295": "„i” rozpoczyna się od wartości 1 i zwiększa się o 2 przy każdej iteracji. Pętla będzie się powtarzać, aż „i” osiągnie wartość 12, wtedy pętla się zakończy.", + "1100133959": "National ID", "1100870148": "Aby dowiedzieć się więcej na temat limitów dla kont i ich stosowania, przejdź do <0>Centrum pomocy..", "1101560682": "stos", "1101712085": "Cena zakupu", @@ -1182,6 +1187,7 @@ "1422060302": "Ten blok zastępuje określony element na liście innym określonym elementem. Może też wprowadzić nowy element na liście na określoną pozycję.", "1422129582": "Wszystkie szczegóły muszą być widoczne — nic nie może być zamazane", "1423082412": "Ostatnia cyfra", + "1423296980": "Enter your SSNIT number", "1424741507": "Zobacz więcej", "1424779296": "Jeśli ostatnio używałeś/używałaś botów, ale nie widzisz ich na tej liście, powodem tego może być:", "1428657171": "Możesz dokonywać tylko wpłat. Aby uzyskać więcej informacji, skontaktuj się z nami za pośrednictwem <0>czatu na żywo.", @@ -1200,6 +1206,7 @@ "1442747050": "Kwota straty: <0>{{profit}}", "1442840749": "Losowa liczba całkowita", "1443478428": "Wybrana propozycja nie istnieje", + "1444843056": "Corporate Affairs Commission", "1445592224": "Przez przypadek podałeś/podałaś nam inny adres e-mail (zazwyczaj jest to adres e-mail z pracy lun osobisty, zamiast właściwego).", "1446742608": "Kliknij tutaj, jeśli kiedykolwiek będziesz musiał powtórzyć tę wycieczkę.", "1449462402": "Trwa sprawdzanie", @@ -1529,6 +1536,7 @@ "1817154864": "Ten blok daje losową liczbę spośród ustalonego zakresu.", "1820242322": "np. USA", "1820332333": "Doładowanie", + "1821818748": "Enter Driver License Reference number", "1823177196": "Najpopularniejsze", "1824193700": "Ten blok daje ostatnią cyfrę wartości ostatniego ticku.", "1824292864": "Zadzwoń", @@ -1582,6 +1590,7 @@ "1873838570": "Zweryfikuj swój adres", "1874481756": "Użyj tego bloku, aby zakupić określony kontrakt. Możesz dodać kilka bloków typu Zakup razem z blokami warunkowymi, aby określić warunki Twojego zakupu. Ten blok może być użyty tylko w obrębie bloku Warunki zakupu.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Minuty", "1877225775": "Twoje potwierdzenie adresu zostało zweryfikowane", "1877272122": "Ograniczyliśmy maksymalną wypłatę dla każdego kontraktu i różni się ona dla każdego składnika aktywów. Twoja umowa zostanie automatycznie zamknięta po osiągnięciu maksymalnej wypłaty.", @@ -1619,6 +1628,7 @@ "1914014145": "Dzisiaj", "1914270645": "Domyślny interwał świecy: {{ candle_interval_type }}", "1914725623": "Prześlij skan strony zawierającej zdjęcie.", + "1917178459": "Bank Verification Number", "1917523456": "Blok wysyła wiadomość do kanału Telegram. Aby użyć ten blok, konieczne będzie utworzenie własnego botu Telegram.", "1917804780": "Stracisz dostęp do swojego konta do opcji, gdy zostanie zamknięte. Pamiętaj, aby wypłacić wszystkie swoje środki. (Jeśli masz konto CFD, możesz przelać środki z konta do opcji na swoje konto CFD.)", "1918633767": "Druga linijka adresu jest w nieprawidłowym formacie.", @@ -1637,7 +1647,6 @@ "1924365090": "Może później", "1924765698": "Miejsce urodzenia*", "1925090823": "Przepraszamy, inwestowanie jest niedostępne w kraju: {{clients_country}}.", - "1927244779": "Używaj tylko następujących znaków specjalnych: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Status zatrudnienia", "1929379978": "Przełączaj się między kontem demo a kontem rzeczywistym.", @@ -1830,6 +1839,9 @@ "2145995536": "Załóż nowe konto", "2146336100": "w tekście %1 uzyskaj %2", "2146892766": "Doświadczenie w handlowaniu opcjami binarnymi", + "-1515286538": "Wprowadź numer swojego dokumentu. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Pierwsza linia adresu jest wymagana", "-242734402": "Liczba znaków: tylko {{max}}.", "-378415317": "Wymagane jest podanie województwa", @@ -2013,6 +2025,7 @@ "-213009361": "Uwierzytelnianie dwuskładnikowe", "-1214803297": "Ścieżka tylko do Pulpitu", "-526636259": "Błąd 404", + "-1694758788": "Enter your document number", "-1030759620": "Urzędnicy państwowi", "-1196936955": "Prześlij zrzut ekranu swojego imienia i nazwiska oraz adresu e-mail z sekcji danych osobowych.", "-1286823855": "Prześlij rachunek za telefon komórkowy zawierający Twoje imię i nazwisko oraz numer telefonu.", @@ -2081,7 +2094,6 @@ "-1088324715": "Sprawdzimy Twoje dokumenty i powiadomimy Cię o statusie w ciągu 1-3 dni roboczych.", "-329713179": "OK", "-1176889260": "Wybierz rodzaj dokumentu.", - "-1515286538": "Wprowadź numer swojego dokumentu. ", "-1785463422": "Potwierdź swoją tożsamość", "-78467788": "Wybierz rodzaj dokumentu i wprowadź numer ID.", "-1117345066": "Wybierz rodzaj dokumentu", @@ -2183,7 +2195,6 @@ "-863770104": "Pamiętaj, że kliknięcie „OK” może być jednoznaczne z narażeniem się na ryzyko. Możesz nie mieć wiedzy lub doświadczenia, aby właściwie ocenić lub złagodzić to ryzyko, które może być znaczące, w tym ryzyko utraty całej zainwestowanej kwoty.", "-1292808093": "Doświadczenie w inwestowaniu", "-1458676679": "Wprowadź od 2 do 50 znaków.", - "-1166111912": "Używaj tylko następujących znaków specjalnych: {{ permitted_characters }}", "-884768257": "Wprowadź od 0 do 35 znaków.", "-2113555886": "Dozwolone są tylko litery, cyfry, spacja i myślnik.", "-874280157": "Ten Numer identyfikacji podatkowej (NIP) jest nieprawidłowy. Możesz dalej go używać, ale w celu ułatwienia procesów płatniczych, wymagany będzie numer identyfikacji podatkowej.", @@ -2445,8 +2456,8 @@ "-172277021": "Wypłaty w sekcji Kasjer są zablokowane", "-1624999813": "Wygląda na to, że obecnie nie masz żadnych prowizji do wypłaty. Możesz rozpocząć dokonywanie wypłat po otrzymaniu prowizji.", "-197251450": "Nie chcesz handlować w {{currency_code}}? Możesz otworzyć kolejne konto w kryptowalucie.", - "-1900848111": "To Twoje konto {{currency_code}}.", - "-749765720": "Waluta Twojego konto w walucie fiducjarnej to {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Zarządzaj swoimi kontami ", "-1463156905": "Dowiedz się więcej o metodach płatności", "-1077304626": "Kwota ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Wygląda na to, że nie masz prawdziwego {{regulation}} konto. Aby skorzystać z kasjera, przełącz się na {{active_real_regulation}} prawdziwe konto, lub zdobądź {{regulation}} prawdziwe konto.", "-1858915164": "Gotowy do wpłaty i handlu na prawdziwe?", "-162753510": "Dodaj prawdziwe konto", - "-7381040": "Pobyt w demo", "-1208519001": "Aby uzyskać dostęp do kasjera, potrzebujesz prawdziwego konta Deriv.", "-175369516": "Witaj w Deriv X", "-939154994": "Witaj w pulpicie Deriv MT5", diff --git a/packages/translations/src/translations/pt.json b/packages/translations/src/translations/pt.json index 6233ba11337c..08fb57bfe5b3 100644 --- a/packages/translations/src/translations/pt.json +++ b/packages/translations/src/translations/pt.json @@ -391,6 +391,7 @@ "489768502": "Mudar senha do investidor", "491603904": "Navegador não suportado", "492198410": "Certifique-se de que tudo está claro", + "492566838": "Taxpayer identification number", "497518317": "Função que retorna um valor", "498144457": "Uma fatura recente de serviços públicos (exemplo, luz, água ou gás)", "498562439": "ou", @@ -433,6 +434,7 @@ "551569133": "Saiba mais sobre limites de negociação", "554410233": "Esta é uma das 10 senhas mais comuns", "555351771": "Depois de definir os parâmetros de negociação e as opções de negociação, você pode instruir seu bot a comprar contratos quando condições específicas forem atendidas. Para fazer isso, você pode usar blocos condicionais e blocos de indicadores para ajudar seu bot a tomar decisões.", + "555881991": "National Identity Number Slip", "556264438": "Intervalo de tempo", "559224320": "Nossa clássica ferramenta de \"drag-and-drop\" para a criação de bots, apresentando pop-up de gráficos de negociação, para usuários avançados.", "561982839": "Mude sua moeda", @@ -557,12 +559,14 @@ "693396140": "Cancelamento da transação (expirado)", "696870196": "- Horário de abertura: o horário de abertura", "697630556": "\nEste mercado está atualmente fechado.", + "698037001": "National Identity Number", "698748892": "Vamos tentar de novo", "699159918": "1. Iniciando uma reclamação", "700259824": "Moeda da conta", "701034660": "Ainda estamos processando sua solicitação de retirada. <0 /> Aguarde até que a transação seja concluída antes de desativar sua conta.", "701462190": "Preço de entrada", "701647434": "Procurar por string", + "702451070": "National ID (No Photo)", "705299518": "Em seguida, faça o upload da página do seu passaporte que contém sua foto.", "706413212": "Para acessar o caixa, você está agora em sua conta {{regulation}} {{currency}} ({{loginid}}).", "706727320": "Frequência de negociação de opções binárias", @@ -892,6 +896,7 @@ "1096175323": "Você precisará de uma conta Deriv", "1098147569": "Adquira commodities ou ações de uma empresa.", "1098622295": "\"i\" começa com o valor de 1 e será aumentado em 2 a cada iteração. O loop será repetido até que \"i\" atinja o valor 12 e, em seguida, o loop será encerrado.", + "1100133959": "National ID", "1100870148": "Para saber mais sobre os limites da conta e como eles se aplicam, visite a <0>Central de Ajuda.", "1101560682": "conjunto", "1101712085": "Preço de compra", @@ -1182,6 +1187,7 @@ "1422060302": "Este bloco substitui um item específico em uma lista por outro item. Também pode inserir o novo item na lista em uma posição específica.", "1422129582": "Todos os detalhes devem ser claros - nada borrado", "1423082412": "Último Dígito", + "1423296980": "Enter your SSNIT number", "1424741507": "Ver mais", "1424779296": "Se você usou bots recentemente, mas não os vê nesta lista, pode ser porque você:", "1428657171": "Você só pode efetuar depósitos. Entre em contato conosco através do <0>live chat para obter mais informações.", @@ -1200,6 +1206,7 @@ "1442747050": "Valor da perda: <0>{{profit}}", "1442840749": "Inteiro aleatório", "1443478428": "A proposta selecionada não existe", + "1444843056": "Corporate Affairs Commission", "1445592224": "Você acidentalmente nos deu outro endereço de e-mail (talvez um do trabalho ou um endereço pessoal diferente do que pensou em utilizar).", "1446742608": "Clique aqui se você precisar repetir esta visita.", "1449462402": "Em revisão", @@ -1529,6 +1536,7 @@ "1817154864": "Este bloco fornece um número aleatório dentro de um intervalo definido.", "1820242322": "por exemplo. Estados Unidos", "1820332333": "Adicionar saldo", + "1821818748": "Enter Driver License Reference number", "1823177196": "Mais popular", "1824193700": "Este bloco fornece o último dígito do último valor do tick.", "1824292864": "Call", @@ -1582,6 +1590,7 @@ "1873838570": "\nPor favor, verifique o seu endereço", "1874481756": "Use este bloco para comprar o contrato específico que você deseja. Você pode adicionar vários blocos de compra juntamente com blocos condicionais para definir suas condições de compra. Este bloco só pode ser usado dentro do bloco Condições de compra.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Minutos", "1877225775": "Seu comprovante de endereço foi verificado", "1877272122": "Limitamos o pagamento máximo para cada contrato e ele varia para cada ativo. O seu contrato será fechado automaticamente quando o pagamento máximo for atingido.", @@ -1619,6 +1628,7 @@ "1914014145": "Até hoje", "1914270645": "Intervalo de Vela Padrão: {{ candle_interval_type }}", "1914725623": "Carregue a página que contém sua foto.", + "1917178459": "Bank Verification Number", "1917523456": "Este bloco envia uma mensagem para um canal de Telegram. Você precisará criar seu próprio bot de Telegram para usar este bloco.", "1917804780": "Você perderá o acesso à sua conta de Opções quando ela for fechada, portanto, certifique-se de retirar todos os seus fundos. (Se você tiver uma conta de CFDs, também pode transferir os fundos de sua conta de Opções para sua conta de CFDs.)", "1918633767": "A segunda linha de endereço não está no formato apropriado.", @@ -1637,7 +1647,6 @@ "1924365090": "Talvez mais tarde", "1924765698": "Local de nascimento*", "1925090823": "Desculpe, a negociação não está disponível em {{clients_country}}.", - "1927244779": "Utilize apenas os seguintes caracteres especiais: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Situação laboral", "1929379978": "Alterne entre as suas contas demo e real.", @@ -1830,6 +1839,9 @@ "2145995536": "Criar uma conta nova", "2146336100": "no texto %1, obtenha %2", "2146892766": "Experiência na negociação de opções binárias", + "-1515286538": "Por favor, digite o número de seu documento. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Primeira linha de endereço é necessária", "-242734402": "Apenas {{max}} caracteres, por favor.", "-378415317": "Estado é obrigatório", @@ -2013,6 +2025,7 @@ "-213009361": "Autenticação de dois fatores", "-1214803297": "Caminho do painel", "-526636259": "Erro 404", + "-1694758788": "Enter your document number", "-1030759620": "Funcionários governamentais", "-1196936955": "Carregue uma captura de tela do seu nome e do endereço de e-mail na seção de informações pessoais.", "-1286823855": "Carregue a fatura do seu celular mostrando o seu nome e o número de telefone.", @@ -2081,7 +2094,6 @@ "-1088324715": "Analisaremos seus documentos e lhe notificaremos sobre seu status dentro de 1 a 3 dias.", "-329713179": "Ok", "-1176889260": "Por favor, selecione um tipo de documento.", - "-1515286538": "Por favor, digite o número de seu documento. ", "-1785463422": "Verifique sua identidade", "-78467788": "Favor selecionar o tipo de documento e digitar o número da identidade.", "-1117345066": "Escolha o tipo de documento", @@ -2183,7 +2195,6 @@ "-863770104": "Observe que, ao clicar em 'OK', você pode estar exposto a riscos. Você pode não ter o conhecimento ou a experiência necesssários para analisar ou reduzir adequadamente esses riscos, o que pode ser significativo, incluindo o risco de perder toda a quantia investida.", "-1292808093": "Experiência em negociação", "-1458676679": "Você deve inserir de 2 a 50 caracteres.", - "-1166111912": "Utilize apenas os seguintes caracteres especiais: {{ permitted_characters }}", "-884768257": "Você deve inserir de 0 a 35 caracteres.", "-2113555886": "Apenas letras, números, espaço e hífen são permitidos.", "-874280157": "Este número de identificação fiscal (TIN) é inválido. Você pode continuar a usá-lo, mas para facilitar futuros processos de pagamento, serão necessárias informações fiscais válidas.", @@ -2445,8 +2456,8 @@ "-172277021": "O caixa está bloqueado para saques", "-1624999813": "Parece que você não tem comissões para sacar no momento. Você pode fazer saques assim que receber suas comissões.", "-197251450": "Não quer negociar em {{currency_code}}? Você pode abrir outra conta em criptomoeda.", - "-1900848111": "Esta é sua conta {{currency_code}}.", - "-749765720": "A moeda de sua conta fiduciária está definida para {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Gerencie suas contas ", "-1463156905": "Saiba mais sobre os métodos de pagamento", "-1077304626": "Quantia ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Você ainda não possui uma conta real {{regulation}}. Para ter acesso ao caixa, alterne para a sua conta real {{active_real_regulation}} ou crie uma conta real {{regulation}}.", "-1858915164": "Pronto(a) para depositar e negociar de verdade?", "-162753510": "Adicionar conta real", - "-7381040": "Permanecer na conta demo", "-1208519001": "Você precisa de uma conta real da Deriv para acessar o caixa.", "-175369516": "Bem-vindo à Deriv X", "-939154994": "Bem-vindo ao painel do Deriv MT5", diff --git a/packages/translations/src/translations/ru.json b/packages/translations/src/translations/ru.json index 1212f3d945a1..80e23191ce70 100644 --- a/packages/translations/src/translations/ru.json +++ b/packages/translations/src/translations/ru.json @@ -391,6 +391,7 @@ "489768502": "Изменить инвесторский пароль", "491603904": "Неподдерживаемый браузер", "492198410": "Убедитесь, что все хорошо видно", + "492566838": "Taxpayer identification number", "497518317": "Функция, возвращающая значение", "498144457": "Недавний счет за коммунальные услуги (за электричество, воду или газ)", "498562439": "или", @@ -433,6 +434,7 @@ "551569133": "Узнайте больше о торговых лимитах", "554410233": "Это один из 10 наиболее распространенных паролей.", "555351771": "После определения торговых параметров и опций, вы можете проинструктировать своего бота покупать контракты при соблюдении определенных условий. Используйте условные блоки и блоки индикаторов, чтобы помочь вашему боту принимать решения.", + "555881991": "National Identity Number Slip", "556264438": "Врем. интервал", "559224320": "Наш классический инструмент “drag-and-drop” для создания торговых ботов с всплывающими торговыми графиками для опытных пользователей.", "561982839": "Изменить валюту", @@ -557,12 +559,14 @@ "693396140": "Отмена сделки (истекла)", "696870196": "- Время открытия: отметка времени открытия", "697630556": "В настоящее время этот рынок закрыт.", + "698037001": "National Identity Number", "698748892": "Давайте попробуем еще раз", "699159918": "1. Подача жалоб", "700259824": "Валюта счёта", "701034660": "Мы все еще обрабатываем ваш запрос на вывод средств.<0 />Пожалуйста, дождитесь завершения транзакции, прежде чем деактивировать счет.", "701462190": "Входная котировка", "701647434": "Искать строку", + "702451070": "National ID (No Photo)", "705299518": "Затем загрузите страницу паспорта с фотографией.", "706413212": "Чтобы получить доступ к кассе, теперь вы находитесь на счете {{regulation}} {{currency}} ({{loginid}}).", "706727320": "Частота торговли бинарными опционами", @@ -892,6 +896,7 @@ "1096175323": "Вам понадобится счет Deriv", "1098147569": "Покупайте сырьевые товары или акции компаний.", "1098622295": "«i» начинается со значения 1 и увеличивается на 2 в каждом повторении. Цикл будет повторяться до тех пор, пока «i» не достигнет значения 12, и затем цикл будет прерван.", + "1100133959": "National ID", "1100870148": "Чтобы узнать больше о лимитах счета и о том, как они применяются, перейдите в <0>Центр поддержки.", "1101560682": "стек", "1101712085": "Цена покупки", @@ -1182,6 +1187,7 @@ "1422060302": "Этот блок заменяет определенный элемент в списке другим заданным элементом. Он также может вставить новый элемент в определенную позицию в списке.", "1422129582": "Все данные должны быть четко видны — ничего размытого", "1423082412": "Последняя десятичная", + "1423296980": "Enter your SSNIT number", "1424741507": "Подробнее", "1424779296": "Недавно использовали ботов, но не видите их в этом списке? Может быть несколько причин:", "1428657171": "Вы можете только пополнять счет. Свяжитесь с нами через <0>чат для получения дополнительной информации.", @@ -1200,6 +1206,7 @@ "1442747050": "Размер убытка: <0>{{profit}}", "1442840749": "Случайное целое число", "1443478428": "Выбранное предложение не существует", + "1444843056": "Corporate Affairs Commission", "1445592224": "Вы по ошибке указали не тот эл. адрес (как правило, рабочий или личный вместо нужного).", "1446742608": "Нажмите здесь, если захотите пройти тур еще раз.", "1449462402": "На рассмотрении", @@ -1529,6 +1536,7 @@ "1817154864": "Этот блок отображает случайное число из заданного диапазона.", "1820242322": "например США", "1820332333": "Пополнить", + "1821818748": "Enter Driver License Reference number", "1823177196": "Популярный", "1824193700": "Этот блок отображает значение последней десятичной последнего тика.", "1824292864": "Call", @@ -1582,6 +1590,7 @@ "1873838570": "Пожалуйста, подтвердите свой адрес", "1874481756": "Этот блок используется для покупки определенного контракта. Вы можете добавить несколько блоков покупки вместе с условными блоками, чтобы определить условия покупки. Этот блок можно использовать только в блоке условий покупки.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Минуты", "1877225775": "Ваше подтверждение адреса принято", "1877272122": "Мы ограничили максимальную выплату по каждому контракту для каждого актива. Ваш контракт будет автоматически закрыт, как только будет достигнута максимальная выплата.", @@ -1619,6 +1628,7 @@ "1914014145": "Сегодня", "1914270645": "Интервал свечи по умолчанию: {{ candle_interval_type }}", "1914725623": "Загрузите страницу с фотографией.", + "1917178459": "Bank Verification Number", "1917523456": "Этот блок отправляет сообщение в Telegram-канал. Вам нужно будет создать своего собственного бота Telegram, чтобы использовать этот блок.", "1917804780": "Вы потеряете доступ к своему счету для опционов, когда он будет закрыт, поэтому не забудьте вывести все свои средства. (Если у вас есть счет CFD, вы можете перевести средства со счета для опционов на счет CFD.)", "1918633767": "Вторая строка адреса в неправильном формате.", @@ -1637,7 +1647,6 @@ "1924365090": "Может быть позже", "1924765698": "Место рождения*", "1925090823": "К сожалению, трейдинг недоступен в {{clients_country}}.", - "1927244779": "Используйте только эти специальные символы: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Статус занятости", "1929379978": "Переключайтесь между демо и реальными счетами.", @@ -1830,6 +1839,9 @@ "2145995536": "Открыть новый счет", "2146336100": "в тексте %1 получить %2", "2146892766": "Опыт торговли бинарными опционами", + "-1515286538": "Введите номер документа. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Первая строка адреса обязательна для заполнения", "-242734402": "Максимальное количество знаков: {{max}}.", "-378415317": "Необходимо указать Регион/Штат", @@ -2013,6 +2025,7 @@ "-213009361": "Двухфакторная аутентификация", "-1214803297": "Dashboard-only path", "-526636259": "Ошибка 404", + "-1694758788": "Enter your document number", "-1030759620": "Гос. служащие", "-1196936955": "Загрузите скриншот своего имени и адреса электронной почты из раздела личной информации.", "-1286823855": "Загрузите счет за мобильную связь, на котором указаны ваше имя и номер телефона.", @@ -2081,7 +2094,6 @@ "-1088324715": "Мы проверим ваши документы и сообщим об их статусе в течение 1-3 рабочих дней.", "-329713179": "Ok", "-1176889260": "Выберите тип документа.", - "-1515286538": "Введите номер документа. ", "-1785463422": "Подтвердите личность", "-78467788": "Выберите тип документа и введите номер документа.", "-1117345066": "Выберите тип документа", @@ -2183,7 +2195,6 @@ "-863770104": "Обратите внимание, что, нажав «ОК», вы можете подвергнуть себя рискам. Возможно, у вас нет знаний или опыта для правильной оценки или снижения этих рисков, которые могут быть значительными, включая потерю всей инвестированной суммы.", "-1292808093": "Опыт торговли", "-1458676679": "Вы должны ввести 2-50 символов.", - "-1166111912": "Используйте только эти специальные символы: {{ permitted_characters }}", "-884768257": "Вы должны ввести 0-35 символов.", "-2113555886": "Разрешены только буквы, цифры, пробелы и дефисы.", "-874280157": "Идентификационный номер налогоплательщика (ИНН) является недействительным. Вы можете продолжить использовать его, но для проведения платежных процессов в будущем потребуется действующая налоговая информация.", @@ -2445,8 +2456,8 @@ "-172277021": "Касса заблокирована для вывода средств", "-1624999813": "Кажется, на данный момент у вас нет комиссий, которые можно вывести. Вы можете вывести деньги, как только получите комиссионные.", "-197251450": "Не хотите торговать в {{currency_code}}? Вы можете открыть другой криптовалютный счет.", - "-1900848111": "Это ваш счет {{currency_code}}.", - "-749765720": "Валюта вашего фиатного счета: {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Управление счетами ", "-1463156905": "Узнать больше о способах оплаты", "-1077304626": "Сумма ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Похоже, у вас нет реального счета {{regulation}}. Чтобы воспользоваться кассой, переключитесь на реальный счет {{active_real_regulation}} или откройте реальный счет {{regulation}}.", "-1858915164": "Готовы пополнить счет и торговать по-настоящему?", "-162753510": "Добавить реальный счет", - "-7381040": "Остаться на демо", "-1208519001": "Для доступа к кассе нужен реальный счет Deriv.", "-175369516": "Добро пожаловать на Deriv X", "-939154994": "Добро пожаловать на панель управления Deriv MT5", diff --git a/packages/translations/src/translations/si.json b/packages/translations/src/translations/si.json index 408ab3df17e0..8976329bd7c3 100644 --- a/packages/translations/src/translations/si.json +++ b/packages/translations/src/translations/si.json @@ -391,6 +391,7 @@ "489768502": "ආයෝජක මුරපදය වෙනස් කරන්න", "491603904": "සහාය නොදක්වන බ්රව්සරය", "492198410": "සෑම දෙයක්ම පැහැදිලි බවට වග බලා ගන්න", + "492566838": "Taxpayer identification number", "497518317": "අගයක් ආපසු ලබා දෙන ශ්රිතය", "498144457": "මෑත කාලීන උපයෝගිතා බිල්පතක් (උදා: විදුලිය, ජලය හෝ ගෑස්)", "498562439": "හෝ", @@ -433,6 +434,7 @@ "551569133": "වෙළඳ සීමාවන් ගැන තව දැනගන්න", "554410233": "මෙය ඉහළම 10 පොදු මුරපදයකි", "555351771": "වෙළඳ පරාමිතීන් සහ වෙළඳ විකල්ප නිර්වචනය කිරීමෙන් පසුව, නිශ්චිත කොන්දේසි සපුරාලන විට කොන්ත්රාත්තු මිලදී ගැනීමට ඔබේ බොට් වෙත උපදෙස් දීමට ඔබට අවශ්ය විය හැකිය. එය සිදු කිරීම සඳහා ඔබට තීරණ ගැනීමට ඔබේ බොට් උදව් කිරීමට කොන්දේසි සහිත කුට්ටි සහ දර්ශක කුට්ටි භාවිතා කළ හැකිය.", + "555881991": "National Identity Number Slip", "556264438": "කාල පරතරය", "559224320": "උසස් පරිශීලකයින් සඳහා උත්පතන වෙළඳ ප්රස්ථාර ඇතුළත් වෙළඳ රොබෝ නිර්මාණය කිරීම සඳහා අපගේ සම්භාව්ය “ඇදගෙන යාමේ” මෙවලම.", "561982839": "ඔබේ මුදල් වෙනස් කරන්න", @@ -557,12 +559,14 @@ "693396140": "ගනුදෙනුව අවලංගු කිරීම (කල් ඉකුත් වූ)", "696870196": "- විවෘත කාලය: ආරම්භක කාල මුද්දරය", "697630556": "මෙම වෙළඳපොළ දැනට වසා ඇත.", + "698037001": "National Identity Number", "698748892": "අපි එය නැවත උත්සාහ කරමු", "699159918": "1. පැමිණිලි ගොනු කිරීම", "700259824": "ගිණුම් මුදල්", "701034660": "අපි තවමත් ඔබගේ මුදල් ආපසු ගැනීමේ ඉල්ලීම සකසනවා.<0 /> කරුණාකර ඔබගේ ගිණුම අක්රිය කිරීමට පෙර ගනුදෙනුව අවසන් වන තෙක් රැඳී සිටින්න.", "701462190": "පිවිසුම් ස්ථානය", "701647434": "නූල් සඳහා සොයන්න", + "702451070": "National ID (No Photo)", "705299518": "ඊළඟට, ඔබගේ ඡායාරූපය අඩංගු ඔබගේ විදේශ ගමන් බලපත්රයේ පිටුව උඩුගත කරන්න.", "706413212": "මුදල් අයකැමි වෙත ප්රවේශ වීම සඳහා, ඔබ දැන් සිටින්නේ ඔබේ {{regulation}} {{currency}} ({{loginid}}) ගිණුමේ ය.", "706727320": "ද්විමය විකල්ප වෙළඳ සංඛ්යාතය", @@ -892,6 +896,7 @@ "1096175323": "ඔබට ඩෙරිව් ගිණුමක් අවශ්ය වේ", "1098147569": "සමාගමක වෙළඳ භාණ්ඩ හෝ කොටස් මිලදී ගන්න.", "1098622295": "“i” 1 අගයෙන් ආරම්භ වන අතර එය සෑම පුනරාවර්තනයකදීම 2 කින් වැඩි වේ. “i” 12 අගයට ළඟා වන තෙක් ලූපය පුනරාවර්තනය වනු ඇත, පසුව ලූපය අවසන් වේ.", + "1100133959": "National ID", "1100870148": "ගිණුම් සීමාවන් සහ ඒවා අදාළ වන ආකාරය පිළිබඳ වැඩිදුර දැන ගැනීමට කරුණාකර <0>උපකාරක මධ්යස්ථානය වෙත යන්න.", "1101560682": "අඩුක්කුව", "1101712085": "මිල මිලදී ගන්න", @@ -1182,6 +1187,7 @@ "1422060302": "මෙම කොටස ලැයිස්තුවක ඇති විශේෂිත අයිතමයක් වෙනත් අයිතමයක් සමඟ ප්රතිස්ථාපනය කරයි. එයට නිශ්චිත ස්ථානයක ලැයිස්තුවේ නව අයිතමය ඇතුළු කළ හැකිය.", "1422129582": "සියලු විස්තර පැහැදිලි විය යුතුය - කිසිවක් නොපැහැදිලි", "1423082412": "අවසාන ඉලක්කම්", + "1423296980": "Enter your SSNIT number", "1424741507": "තවත් බලන්න", "1424779296": "ඔබ මෑතකදී බොට්ස් භාවිතා කළ නමුත් ඒවා මෙම ලැයිස්තුවේ නොපෙනේ නම්, එයට හේතුව ඔබ විය හැකිය:", "1428657171": "ඔබට කළ හැක්කේ තැන්පතු පමණි. වැඩි විස්තර සඳහා කරුණාකර <0>සජීවී කතාබස් හරහා අප හා සම්බන්ධ වන්න.", @@ -1200,6 +1206,7 @@ "1442747050": "අඞු කිරීමට ප්රමාණය: <0>{{profit}}", "1442840749": "අහඹු නිඛිල", "1443478428": "තෝරාගත් යෝජනාව නොපවතී", + "1444843056": "Corporate Affairs Commission", "1445592224": "ඔබ අහම්බෙන් අපට තවත් විද්යුත් තැපැල් ලිපිනයක් ලබා දුන්නේය (සාමාන්යයෙන් ඔබ අදහස් කළ තැනැත්තා වෙනුවට වැඩක් හෝ පුද්ගලික එකක්).", "1446742608": "ඔබට කවදා හෝ මෙම සංචාරය නැවත කිරීමට අවශ්ය නම් මෙහි ක්ලික් කරන්න.", "1449462402": "සමාලෝචනයේදී", @@ -1529,6 +1536,7 @@ "1817154864": "මෙම කොටස ඔබට නියමිත පරාසයක් තුළ සිට අහඹු අංකයක් ලබා දෙයි.", "1820242322": "උදා: එක්සත් ජනපදය", "1820332333": "ඉහළට", + "1821818748": "Enter Driver License Reference number", "1823177196": "වඩාත් ජනප්රියයි", "1824193700": "මෙම කොටස ඔබට නවතම ටික් අගයේ අවසාන ඉලක්කම ලබා දෙයි.", "1824292864": "අමතන්න", @@ -1582,6 +1590,7 @@ "1873838570": "කරුණාකර ඔබේ ලිපිනය සත්යාපනය කරන්න", "1874481756": "ඔබට අවශ්ය නිශ්චිත කොන්ත්රාත්තුව මිලදී ගැනීමට මෙම කොටස භාවිතා කරන්න. ඔබේ මිලදී ගැනීමේ කොන්දේසි නිර්වචනය කිරීම සඳහා ඔබට කොන්දේසි සහිත කුට්ටි සමඟ බහු මිලදී ගැනීමේ කොටස් එකතු කළ හැකිය. මෙම කොටස භාවිතා කළ හැක්කේ මිලදී ගැනීමේ කොන්දේසි කොටස තුළ පමණි.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "විනාඩි", "1877225775": "ලිපිනය පිළිබඳ ඔබේ සාක්ෂිය සත්යාපනය වේ", "1877272122": "අපි සෑම කොන්ත්රාත්තුවක් සඳහාම උපරිම ගෙවීම් සීමා කර ඇති අතර එය සෑම වත්කමකටම වෙනස් වේ. උපරිම ගෙවීම ළඟා වූ විට ඔබේ කොන්ත්රාත්තුව ස්වයංක්රීයව වසා දැමෙනු ඇත.", @@ -1619,6 +1628,7 @@ "1914014145": "අද", "1914270645": "පෙරනිමි ඉටිපන්දම් පරතරය: {{ candle_interval_type }}", "1914725623": "ඔබගේ ඡායාරූපය අඩංගු පිටුව උඩුගත කරන්න.", + "1917178459": "Bank Verification Number", "1917523456": "මෙම කොටස ටෙලිග්රාම් නාලිකාවකට පණිවිඩයක් යවයි. මෙම කොටස භාවිතා කිරීම සඳහා ඔබට ඔබේම ටෙලිග්රාම් බොට් එකක් නිර්මාණය කිරීමට අවශ්ය වනු ඇත.", "1917804780": "ඔබගේ විකල්ප ගිණුමට එය වසා දැමූ විට ඔබට ප්රවේශය අහිමි වනු ඇත, එබැවින් ඔබගේ සියලු අරමුදල් ආපසු ගැනීමට වග බලා ගන්න. (ඔබට CFDs ගිණුමක් තිබේ නම්, ඔබට ඔබේ විකල්ප ගිණුමෙන් ඔබේ CFDs ගිණුමට අරමුදල් මාරු කළ හැකිය.)", "1918633767": "ලිපිනයේ දෙවන පේළිය නිසි ආකෘතියකින් නොවේ.", @@ -1637,7 +1647,6 @@ "1924365090": "සමහර විට පසුව", "1924765698": "උපන් ස්ථානය*", "1925090823": "කණගාටුයි, වෙළඳාම {{clients_country}}හි නොමැත.", - "1927244779": "පහත සඳහන් විශේෂ අක්ෂර පමණක් භාවිතා කරන්න:., ':; () @ #/-", "1928930389": "GBP/NOK", "1929309951": "රැකියා තත්ත්වය", "1929379978": "ඔබගේ නිරූපණ සහ සැබෑ ගිණුම් අතර මාරු වන්න.", @@ -1830,6 +1839,9 @@ "2145995536": "නව ගිණුමක් සාදන්න", "2146336100": "පෙළ %1 %2ලබා ගන්න", "2146892766": "ද්විමය විකල්ප වෙළඳ අත්දැකීම්", + "-1515286538": "කරුණාකර ඔබේ ලේඛන අංකය ඇතුළත් කරන්න. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "ලිපිනයේ පළමු පේළිය අවශ්ය වේ", "-242734402": "කරුණාකර අනුලකුණු {{max}} ක් පමණි.", "-378415317": "රාජ්ය අවශ්ය වේ", @@ -2013,6 +2025,7 @@ "-213009361": "ද්වි-සාධක සත්යාපනය", "-1214803297": "උපකරණ පුවරුව-පමණක් මාර්ගය", "-526636259": "දෝෂය 404", + "-1694758788": "Enter your document number", "-1030759620": "රජයේ නිලධාරීන්", "-1196936955": "පුද්ගලික තොරතුරු අංශයෙන් ඔබගේ නම සහ විද්යුත් තැපැල් ලිපිනයේ තිර රුවක් උඩුගත කරන්න.", "-1286823855": "ඔබගේ නම සහ දුරකථන අංකය පෙන්වන ඔබගේ ජංගම බිල්පත් ප්රකාශය උඩුගත කරන්න.", @@ -2081,7 +2094,6 @@ "-1088324715": "අපි ඔබේ ලේඛන සමාලෝචනය කර වැඩ කරන දින 1 - 3 ක් ඇතුළත එහි තත්ත්වය ඔබට දන්වන්නෙමු.", "-329713179": "හරි", "-1176889260": "කරුණාකර ලේඛන වර්ගයක් තෝරන්න.", - "-1515286538": "කරුණාකර ඔබේ ලේඛන අංකය ඇතුළත් කරන්න. ", "-1785463422": "ඔබගේ අනන්යතාවය තහවුරු කරන්න", "-78467788": "කරුණාකර ලේඛන වර්ගය තෝරාගෙන හැඳුනුම්පත් අංකය ඇතුළත් කරන්න.", "-1117345066": "ලේඛන වර්ගය තෝරන්න", @@ -2183,7 +2195,6 @@ "-863770104": "'හරි' ක්ලික් කිරීමෙන්, ඔබ අවදානම් වලට නිරාවරණය විය හැකි බව කරුණාවෙන් සලකන්න. මෙම අවදානම් නිසි ලෙස තක්සේරු කිරීමට හෝ අවම කිරීමට ඔබට දැනුමක් හෝ පළපුරුද්දක් නොමැති විය හැකිය, එය ඔබ ආයෝජනය කර ඇති මුළු මුදලම අහිමි වීමේ අවදානම ඇතුළුව සැලකිය යුතු විය හැකිය.", "-1292808093": "වෙළඳ පළපුරුද්ද", "-1458676679": "ඔබ 2-50 අක්ෂර ඇතුළත් කළ යුතුය.", - "-1166111912": "පහත සඳහන් විශේෂ අක්ෂර පමණක් භාවිතා කරන්න: {{ permitted_characters }}", "-884768257": "ඔබ 0-35 අක්ෂර ඇතුළත් කළ යුතුය.", "-2113555886": "අකුරු, අංක, අවකාශය සහ හයිෆන් පමණක් අවසර ඇත.", "-874280157": "මෙම බදු හඳුනාගැනීමේ අංකය (TIN) අවලංගුය. ඔබට එය දිගටම භාවිතා කළ හැකි නමුත් අනාගත ගෙවීම් ක්රියාවලීන් සඳහා පහසුකම් සැලසීම සඳහා වලංගු බදු තොරතුරු අවශ්ය වේ.", @@ -2445,8 +2456,8 @@ "-172277021": "මුදල් ආපසු ගැනීම සඳහා මුදල් අයකැමි අගුළු දමා ඇත", "-1624999813": "මේ මොහොතේ ඔබට ඉවත් වීමට කොමිෂන් සභා නොමැති බව පෙනේ. ඔබේ කොමිස් ලැබුණු පසු ඔබට මුදල් ආපසු ලබා ගත හැකිය.", "-197251450": "{{currency_code}}හි වෙළඳාම් කිරීමට අවශ්ය නැද්ද? ඔබට තවත් cryptocurrency ගිණුමක් විවෘත කළ හැකිය.", - "-1900848111": "මෙය ඔබගේ {{currency_code}} ගිණුමයි.", - "-749765720": "ඔබගේ ෆියට් ගිණුම් මුදල් {{currency_code}}ලෙස සකසා ඇත.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "ඔබගේ ගිණුම් කළමනාකරණය කරන්න ", "-1463156905": "ගෙවීම් ක්රම ගැන තව දැනගන්න", "-1077304626": "මුදල ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "ඔබට සැබෑ {{regulation}} ගිණුමක් නොමැති බව පෙනේ. මුදල් අයකැමි භාවිතා කිරීම සඳහා, ඔබගේ {{active_real_regulation}} සැබෑ ගිණුමට මාරු වන්න, නැතහොත් {{regulation}} සැබෑ ගිණුමක් ලබා ගන්න.", "-1858915164": "සැබෑ ලෙස තැන්පත් කිරීමට හා වෙළඳාම් කිරීමට සූදානම්ද?", "-162753510": "සැබෑ ගිණුමක් එක් කරන්න", - "-7381040": "නිරූපනයේ රැඳී සිටින්න", "-1208519001": "මුදල් අයකැමි වෙත ප්රවේශ වීමට ඔබට සැබෑ ඩෙරිව් ගිණුමක් අවශ්ය වේ.", "-175369516": "ඩෙරිව් එක්ස් වෙත සාදරයෙන් පිළිගනිමු", "-939154994": "Deriv MT5 උපකරණ පුවරුව වෙත ඔබව සාදරයෙන් පිළිගනිමු", diff --git a/packages/translations/src/translations/th.json b/packages/translations/src/translations/th.json index 21264ad1faf9..a7253c3c2e32 100644 --- a/packages/translations/src/translations/th.json +++ b/packages/translations/src/translations/th.json @@ -391,6 +391,7 @@ "489768502": "เปลี่ยนรหัสผ่านของผู้ลงทุน", "491603904": "เบราว์เซอร์ที่ไม่รองรับ", "492198410": "ตรวจสอบให้แน่ใจว่าทุกอย่างชัดเจน", + "492566838": "Taxpayer identification number", "497518317": "ฟังก์ชันที่คืนค่า", "498144457": "บิลค่าสาธารณูปโภคอันล่าสุด (เช่น ไฟฟ้า น้ำ แก๊ส)", "498562439": "หรือ", @@ -433,6 +434,7 @@ "551569133": "เรียนรู้เพิ่มเติมเกี่ยวกับขีดจำกัดการซื้อขาย", "554410233": "นี่คือรหัสผ่านทั่วไป 10 อันดับแรก", "555351771": "หลังจากกำหนดพารามิเตอร์การซื้อขายและตัวเลือกการเทรดต่างๆแล้ว คุณอาจต้องการสั่งให้บอทของคุณทำการซื้อสัญญาเมื่อตรงตามเงื่อนไขเฉพาะที่ตั้งเอาไว้ และคุณสามารถใช้บล็อกเงื่อนไขและบล๊อกตัวบ่งชี้มาช่วยบอทของคุณในการตัดสินใจเพื่อให้คุณทำเช่นนั้นได้", + "555881991": "National Identity Number Slip", "556264438": "ช่วงเวลา", "559224320": "เครื่องมือ \"ลากแล้ววาง\" แบบคลาสสิกของเราในการสร้างบอทซื้อขายมาพร้อมแผนภูมิการเทรดแบบป๊อปอัปสำหรับผู้ใช้ขั้นสูง", "561982839": "เปลี่ยนสกุลเงินของคุณ", @@ -557,12 +559,14 @@ "693396140": "การยกเลิกดีลข้อตกลง (หมดอายุ)", "696870196": "เวลาเปิด: การประทับเวลาเปิด", "697630556": "ตลาดนี้ปิดทําการแล้วตอนนี้", + "698037001": "National Identity Number", "698748892": "ลองอีกครั้ง", "699159918": "1. การยื่นข้อร้องเรียน", "700259824": "สกุลเงินของบัญชี", "701034660": "เรายังคงประมวลผลคําร้องขอถอนเงินของคุณอยู่ <0 />โปรดรอให้การทําธุรกรรมเสร็จสมบูรณ์ก่อนที่จะปิดการใช้งานบัญชีของคุณ", "701462190": "จุดเข้า", "701647434": "ค้นหาสตริง", + "702451070": "National ID (No Photo)", "705299518": "ขั้นตอนต่อไปคือ โปรดอัพโหลดหน้าหนังสือเดินทางของคุณที่มีรูปถ่ายของคุณอยู่", "706413212": "ตอนนี้คุณอยู่ในบัญชี {{regulation}} {{currency}} ({{loginid}}) ของคุณเพื่อที่จะเข้าถึงแคชเชียร์", "706727320": "ความถี่ในการซื้อขายตราสารสิทธิไบนารี", @@ -892,6 +896,7 @@ "1096175323": "คุณจะต้องมีบัญชี Deriv", "1098147569": "ซื้อสินค้าหรือหุ้นต่างๆของบริษัท", "1098622295": "\"i\" เริ่มต้นด้วยค่า 1 และจะเพิ่มขึ้นทีละ 2 ในทุกครั้งของการทำซ้ำจนกว่าตัว \"i\" จะมีมูลค่าถึง 12 จากนั้นการวนลูปซ้ำจะสิ้นสุดลง", + "1100133959": "National ID", "1100870148": "หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับข้อจำกัดของบัญชีและวิธีการใช้งาน โปรดไปที่ <0>ศูนย์ช่วยเหลือ", "1101560682": "สแตค (stack)", "1101712085": "ราคาซื้อ", @@ -1182,6 +1187,7 @@ "1422060302": "บล็อกนี้จะแทนที่รายการอันจำเพาะจากในลิสต์รายการด้วยรายการอื่นที่ได้รับมา แล้วมันยังสามารถแทรกรายการอันใหม่เข้าไปในลิสต์ ณ ตำแหน่งเฉพาะที่ระบุได้ด้วย", "1422129582": "รายละเอียดทั้งหมดจะต้องชัดเจน — ไม่มีอะไรมัวหรือเบลอ", "1423082412": "เลขหลักสุดท้าย", + "1423296980": "Enter your SSNIT number", "1424741507": "ดูเพิ่มเติม", "1424779296": "หากคุณเพิ่งใช้บอทแต่กลับมองไม่เห็นพวกมันในลิสต์รายการนี้ นั่นอาจเป็นเพราะคุณ:", "1428657171": "คุณสามารถจะทำการฝากเงินได้เท่านั้น โปรดติดต่อเราผ่าน <0>แชทสด เพื่อขอข้อมูลเพิ่มเติม", @@ -1200,6 +1206,7 @@ "1442747050": "จำนวนขาดทุน: <0>{{profit}}", "1442840749": "เลขจำนวนเต็มแบบสุ่ม", "1443478428": "ไม่มีข้อเสนอที่ได้เลือกไป", + "1444843056": "Corporate Affairs Commission", "1445592224": "คุณเผอิญให้ที่อยู่อีเมล์อื่นแก่เรา (ปกติมักจะเป็นอีเมล์จากที่ทำงานหรืออีเมล์ส่วนตัวแทนที่จะเป็นอันที่คุณต้องการใช้)", "1446742608": "คลิกที่นี่ถ้าคุณต้องการที่จะเยี่ยมชมซ้ำอีกครั้ง", "1449462402": "กำลังตรวจทาน", @@ -1529,6 +1536,7 @@ "1817154864": "บล็อกนี้ให้ตัวเลขสุ่มจากภายในช่วงที่กําหนด", "1820242322": "ตัวอย่างเช่น สหรัฐอเมริกา", "1820332333": "เติมเงิน", + "1821818748": "Enter Driver License Reference number", "1823177196": "เป็นที่นิยมมากที่สุด", "1824193700": "บล็อกนี้แสดงเลขหลักสุดท้ายของมูลค่าจุด Tick ล่าสุด", "1824292864": "Call", @@ -1582,6 +1590,7 @@ "1873838570": "กรุณายืนยันที่อยู่ของคุณ", "1874481756": "ใช้บล็อกนี้เพื่อซื้อสัญญาอันจำเพาะที่คุณต้องการ โดยคุณสามารถจะเพิ่มบล็อกการซื้อได้หลายอัน รวมถึงบล็อกที่มีเงื่อนไขต่างๆ เพื่อที่คุณจะกําหนดเงื่อนไขการซื้อของคุณได้ บล็อกนี้จะใช้ได้จากภายในบล็อกเงื่อนไขการซื้อเท่านั้น", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "นาที", "1877225775": "หลักฐานที่อยู่ของคุณได้รับการยืนยันแล้ว", "1877272122": "เราได้จำกัดยอดเงินผลตอบแทนขั้นสูงสุดสำหรับทุกสัญญา และมันจะแตกต่างกันไปในแต่ละสินทรัพย์ สัญญาซื้อขายของคุณจะถูกปิดโดยอัตโนมัติเมื่อถึงยอดเงินผลตอบแทนขั้นสูงสุด", @@ -1619,6 +1628,7 @@ "1914014145": "วันนี้", "1914270645": "ช่วงเวลาแท่งเทียนเริ่มต้น: {{ candle_interval_type }}", "1914725623": "โปรดอัปโหลดหน้าเอกสารที่มีรูปถ่ายของคุณ", + "1917178459": "Bank Verification Number", "1917523456": "บล็อกนี้ส่งข้อความไปยังช่อง Telegram ซึ่งคุณต้องสร้างเทเลแกรมบอทของคุณเองเพื่อใช้งานบล็อกนี้", "1917804780": "คุณจะเสียการเข้าถึงบัญชีตราสารสิทธิของคุณเมื่อบัญชีนั้นถูกปิด ดังนั้นโปรดอย่าลืมถอนเงินทั้งหมดของคุณ (หากคุณมีบัญชี CFDs อยู่ คุณสามารถโอนเงินจากบัญชีตราสารสิทธิของคุณไปยังบัญชี CFDs นั้นได้)", "1918633767": "บรรทัดที่สองของที่อยู่นั้นไม่ได้อยู่ในรูปแบบที่ถูกต้อง", @@ -1637,7 +1647,6 @@ "1924365090": "ไว้ทีหลัง", "1924765698": "สถานที่เกิด*", "1925090823": "ขออภัย การซื้อขายไม่อาจทำได้ใน {{clients_country}}", - "1927244779": "ใช้เฉพาะอักขระพิเศษต่อไปนี้: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "สถานะการจ้างงาน", "1929379978": "สลับไปมาระหว่างบัญชีทดลองและบัญชีจริง", @@ -1830,6 +1839,9 @@ "2145995536": "สร้างบัญชีใหม่", "2146336100": "ในข้อความ %1 ได้รับ %2", "2146892766": "ประสบการณ์การซื้อขายไบนารีออปชัน", + "-1515286538": "กรุณาใส่หมายเลขเอกสารของคุณ ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "โปรดระบุที่อยู่ของบรรทัดแรก", "-242734402": "โปรดใช้อักขระ {{max}} เท่านั้น", "-378415317": "โปรดระบุรัฐ", @@ -2013,6 +2025,7 @@ "-213009361": "ระบบยืนยันตัวตนสองขั้นตอน", "-1214803297": "เส้นทางสู่หน้ากระดานเท่านั้น", "-526636259": "ข้อผิดพลาด 404", + "-1694758788": "Enter your document number", "-1030759620": "ข้าราชการ", "-1196936955": "อัปโหลดภาพแคปหน้าจอที่มีชื่อและที่อยู่อีเมล์ของคุณจากส่วนแสดงข้อมูลส่วนบุคคล", "-1286823855": "อัปโหลดใบแจ้งยอดบิลมือถือที่แสดงชื่อและหมายเลขโทรศัพท์ของคุณ", @@ -2081,7 +2094,6 @@ "-1088324715": "เราจะตรวจสอบเอกสารของคุณและแจ้งให้ทราบถึงสถานะของเอกสารภายใน 1-3 วันทำการ", "-329713179": "ตกลง", "-1176889260": "กรุณาเลือกประเภทเอกสาร", - "-1515286538": "กรุณาใส่หมายเลขเอกสารของคุณ ", "-1785463422": "ยืนยันตัวตนของคุณ", "-78467788": "โปรดเลือกประเภทเอกสารและป้อนหมายเลขประจำตัว", "-1117345066": "เลือกประเภทเอกสาร", @@ -2183,7 +2195,6 @@ "-863770104": "โปรดทราบว่า ในการที่คุณคลิก 'ตกลง' คุณอาจกำลังเผชิญกับความเสี่ยง คุณอาจไม่มีความรู้หรือประสบการณ์ในการประเมินหรือลดความเสี่ยงเหล่านี้อย่างเหมาะสม ซึ่งความเสี่ยงดังกล่าวอาจมีนัยสำคัญและรวมถึงความเสี่ยงในการสูญเสียเงินทั้งหมดที่คุณลงทุน", "-1292808093": "ประสบการณ์การซื้อขาย", "-1458676679": "คุณควรป้อน 2-50 อักขระ", - "-1166111912": "ใช้เฉพาะอักขระพิเศษต่อไปนี้: {{ permitted_characters }}", "-884768257": "คุณควรป้อน 0-35 อักขระ", "-2113555886": "เฉพาะตัวอักษร ตัวเลข ช่องว่าง และยัติภังค์เท่านั้นที่อนุญาต", "-874280157": "หมายเลขประจำตัวผู้เสียภาษี (TIN) นี้ไม่ถูกต้อง คุณสามารถใช้ต่อไปได้ แต่เพื่ออำนวยความสะดวกในกระบวนการชำระเงินในอนาคต คุณจะต้องระบุข้อมูลภาษีที่ถูกต้อง", @@ -2445,8 +2456,8 @@ "-172277021": "แคชเชียร์ถูกล็อคสำหรับการถอนเงิน", "-1624999813": "ดูเหมือนว่า คุณไม่มีค่าคอมมิชชั่นที่จะถอนได้ในขณะนี้ คุณสามารถทำการถอนเงินได้เมื่อคุณได้รับค่าคอมมิชชั่นแล้ว", "-197251450": "ไม่ต้องการเทรด {{currency_code}} ใช่ไหม? คุณสามารถเปิดบัญชีเงินสกุลดิจิทัลได้อีกบัญชีหนึ่ง", - "-1900848111": "นี่คือ บัญชี {{currency_code}} ของคุณ", - "-749765720": "สกุลเงินในบัญชีเงินตรารัฐบาลของคุณถูกกำหนดเป็น {{currency_code}}", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "จัดการบัญชีของคุณ ", "-1463156905": "เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการชำระเงิน", "-1077304626": "จำนวน ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "ดูเหมือนว่าคุณไม่มีบัญชี {{regulation}} จริง หากต้องการใช้แคชเชียร์ ให้เปลี่ยนไปใช้บัญชีจริง {{active_real_regulation}} ของคุณ หรือสมัครเปิดบัญชีจริง {{regulation}} เสียก่อน", "-1858915164": "คุณพร้อมจะฝากเงินและทำการซื้อขายจริงหรือยัง?", "-162753510": "เพิ่มบัญชีจริง", - "-7381040": "อยู่ในบัญชีทดลองต่อไป", "-1208519001": "คุณจำเป็นต้องมีบัญชี Deriv จริงเพื่อเข้าถึงแคชเชียร์", "-175369516": "ยินดีต้อนรับสู่ Deriv X", "-939154994": "ยินดีต้อนรับสู่หน้ากระดาน Deriv MT5", diff --git a/packages/translations/src/translations/tr.json b/packages/translations/src/translations/tr.json index 38e678505aab..a6f360021f99 100644 --- a/packages/translations/src/translations/tr.json +++ b/packages/translations/src/translations/tr.json @@ -391,6 +391,7 @@ "489768502": "Yatırımcı parolasını değiştir", "491603904": "Desteklenmeyen tarayıcı", "492198410": "Her şeyin apaçık olduğundan emin olun", + "492566838": "Taxpayer identification number", "497518317": "Bir değeri getiren fonksiyon", "498144457": "Yakın zamana ait bir hizmet faturası (örn. elektrik, su veya gaz)", "498562439": "yada", @@ -433,6 +434,7 @@ "551569133": "İşlem limitleri hakkında daha fazla bilgi edinin", "554410233": "Bu bir top-10 ortak parolasıdır", "555351771": "Ticari parametreleri ve ticaret seçeneklerini tanımladıktan sonra, belirli koşullar karşılandığında botunuza sözleşmeleri satın almasını söylemek isteyebilirsiniz. Bunu yapmak için botunuzun karar vermesine yardımcı olmak için koşullu blokları ve gösterge bloklarını kullanabilirsiniz.", + "555881991": "National Identity Number Slip", "556264438": "Zaman aralığı", "559224320": "İleri düzey kullanıcılar için açılır ticaret tablolarına sahip ticari botlar oluşturmak için klasik \"sürükle ve bırak\" aracımız.", "561982839": "Para biriminizi değiştirin", @@ -557,12 +559,14 @@ "693396140": "Anlaşma iptali (süresi dolmuş)", "696870196": "- Açılma süresi: Açılış saati damgası", "697630556": "Bu piyasa şu anda kapalı.", + "698037001": "National Identity Number", "698748892": "Tekrar onu deneyelim", "699159918": "1. Şikayette bulunma", "700259824": "Hesap para birimi", "701034660": "Para çekme isteğinizin işlemenine devam ediyoruz.<0/>Hesabınızı devre dışı bırakmadan önce lütfen işlemin tamamlanmasını bekleyin.", "701462190": "Giriş noktası", "701647434": "Dize ara", + "702451070": "National ID (No Photo)", "705299518": "Ardından, pasaportunuzun fotoğrafınızı içeren sayfasını yükleyin.", "706413212": "Kasiyere erişmek için artık {{regulation}} {{currency}} ({{loginid}}) hesabınızdasın.", "706727320": "Binary seçenekleri işlem frekansı", @@ -892,6 +896,7 @@ "1096175323": "Bir Deriv hesabına ihtiyacınız olacak", "1098147569": "Bir şirketin mallarını veya hisselerini satın alın.", "1098622295": "\"i\" 1 değeriyle başlar ve her tekrarda 2 artırılır. Döngü, \"i\" 12 değerine ulaşana kadar tekrarlanır ve döngü sonlandırılır.", + "1100133959": "National ID", "1100870148": "Hesap limitleri ve bunların nasıl uygulandıkları hakkında daha fazla bilgi için lütfen <0>Yardım Merkezi'ne gidin.", "1101560682": "deste", "1101712085": "Alış fiyatı", @@ -1182,6 +1187,7 @@ "1422060302": "Bu blok, listedeki belirli bir öğenin yerine verilen başka bir öğeyi koyar. Yeni öğeyi listeye belirli bir konumda da ekleyebilir.", "1422129582": "Tüm ayrıntılar net olmalıdır — bulanık bir şey olmamalıdır", "1423082412": "Son Rakam", + "1423296980": "Enter your SSNIT number", "1424741507": "Daha fazlasını görün", "1424779296": "Kısa süre önce botları kullanmış ancak bunları bu listede görmüyorsanız bunun nedeni şunlar olabilir:", "1428657171": "Sadece para yatırabilirsiniz. Daha fazla bilgi için lütfen <0>canlı sohbet yoluyla bizimle iletişime geçin.", @@ -1200,6 +1206,7 @@ "1442747050": "Kayıp miktarı: <0>{{profit}}", "1442840749": "Rastgele tamsayı", "1443478428": "Seçilen teklif mevcut değil", + "1444843056": "Corporate Affairs Commission", "1445592224": "Bize yanlışlıkla başka bir e-posta adresi verdiniz (genellikle, kastettiğinizin yerine bir iş veya kişisel bir e-posta adresi).", "1446742608": "Bu turu tekrarlamanız gerekirse burayı tıklayın.", "1449462402": "İncelemede", @@ -1529,6 +1536,7 @@ "1817154864": "Bu blok, belirli bir aralıktan rastgele bir sayı verir.", "1820242322": "örn. United States", "1820332333": "Doldur", + "1821818748": "Enter Driver License Reference number", "1823177196": "En popüler", "1824193700": "Bu blok size en son tik değerinin son basamağını verir.", "1824292864": "Aramak", @@ -1582,6 +1590,7 @@ "1873838570": "Lütfen adresinizi doğrulayın", "1874481756": "İstediğiniz sözleşmeyi satın almak için bu bloğu kullanın. Satın alma koşullarınızı tanımlamak için koşullu bloklarla birlikte birden fazla satın alma bloğu ekleyebilirsiniz. Bu blok yalnızca satın alma koşulları bloğunda kullanılabilir.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Dakikalar", "1877225775": "Adres kanıtınız doğrulandı", "1877272122": "Her sözleşme için maksimum ödemeyi sınırladık ve her varlık için farklılık gösterir. Maksimum ödemeye ulaşıldığında sözleşmeniz otomatik olarak kapatılacaktır.", @@ -1619,6 +1628,7 @@ "1914014145": "Bugün", "1914270645": "Varsayılan Mum Aralığı: {{ candle_interval_type }}", "1914725623": "Fotoğrafınızı içeren sayfayı yükleyin.", + "1917178459": "Bank Verification Number", "1917523456": "Bu blok Telegram kanalına bir mesaj gönderir. Bu bloğu kullanmak için kendi Telegram botunuzu oluşturmanız gerekir.", "1917804780": "Kapatıldığında Opsiyonlar hesabınıza erişiminizi kaybedersiniz, bu nedenle tüm paranızı çektiğinizden emin olun. (CFD hesabınız varsa, parayı Opsiyonlar hesabınızdan CFD'lerinize de aktarabilirsiniz.)", "1918633767": "İkinci adres satırı doğru biçimde değil.", @@ -1637,7 +1647,6 @@ "1924365090": "Belki daha sonra", "1924765698": "Doğum yeri*", "1925090823": "Üzgünüz, ticaret {{clients_country}} içinde mevcut değil.", - "1927244779": "Yalnızca aşağıdaki özel karakterleri kullanın: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "İstihdam Durumu", "1929379978": "Demonuzla gerçek hesaplarınız arasında geçiş yapın.", @@ -1830,6 +1839,9 @@ "2145995536": "Yeni hesap oluştur", "2146336100": "metinde %1 al %2", "2146892766": "Binary seçenekli ticaret deneyimi", + "-1515286538": "Lütfen belge numaranızı girin. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Adresin ilk satırı gereklidir", "-242734402": "Yalnızca {{max}} karakterleri, lütfen.", "-378415317": "Eyalet gereklidir", @@ -2013,6 +2025,7 @@ "-213009361": "Iki faktörlü kimlik doğrulama", "-1214803297": "Yalnızca-gösterge panosu yolu", "-526636259": "Hata 404", + "-1694758788": "Enter your document number", "-1030759620": "Kamu Çalışanları", "-1196936955": "Kişisel bilgiler bölümünden adınızın ve e-posta adresinizin ekran görüntüsünü yükleyin.", "-1286823855": "Adınızı ve telefon numaranızı gösteren mobil fatura ekstrenizi yükleyin.", @@ -2081,7 +2094,6 @@ "-1088324715": "We’ll review your documents and notify you of its status within 1 - 3 working days.", "-329713179": "Tamam", "-1176889260": "Lütfen bir belge türü seçin.", - "-1515286538": "Lütfen belge numaranızı girin. ", "-1785463422": "Kimliğinizi doğrulayın", "-78467788": "Lütfen belge türünü seçin ve kimlik numarasını girin.", "-1117345066": "Belge türünü seçin", @@ -2183,7 +2195,6 @@ "-863770104": "Lütfen “Tamam” ı tıklayarak, kendinizi risklere maruz bırakıyor olabilirsiniz. Bu riskleri doğru bir şekilde değerlendirecek veya azaltacak bilgi veya deneyime sahip olmayabilirsiniz., önemli olabilir, yatırım yaptığınız meblağın tamamını kaybetme riski dahil.", "-1292808093": "Ticaret Deneyimi", "-1458676679": "2-50 karakter girmelisiniz.", - "-1166111912": "Yalnızca şu özel karakterleri kullanın: {{ permitted_characters }}", "-884768257": "0-35 karakter girmelisiniz.", "-2113555886": "Yalnızca harfler, sayılar, boşluk ve tire kullanılabilir.", "-874280157": "Bu Vergi Kimlik Numarası (TIN) geçersiz. Kullanmaya devam edebilirsiniz ancak gelecekteki ödeme süreçlerini kolaylaştırmak için geçerli vergi bilgileri gerekir.", @@ -2445,8 +2456,8 @@ "-172277021": "Kasiyer para çekme işlemleri için kilitlendi", "-1624999813": "Görünüşe göre şu anda çekilecek komisyonunuz yok. Komisyonlarınızı aldıktan sonra para çekme işlemi yapabilirsiniz.", "-197251450": "{{currency_code}} ile ticaret yapmak istemiyor musunuz? Başka bir kripto para birimi hesabı açabilirsiniz.", - "-1900848111": "Bu sizin {{currency_code}} hesabınız.", - "-749765720": "Fiat hesabınızın para birimi {{currency_code}} olarak ayarlandı.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Hesaplarınızı yönetin ", "-1463156905": "Ödeme yöntemleri hakkında daha fazla bilgi edinin", "-1077304626": "Tutar ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Görünüşe göre gerçek bir {{regulation}} hesabın yok. Kasiyeri kullanmak için, senin {{active_real_regulation}} gerçek hesap, veya al {{regulation}} gerçek hesap.", "-1858915164": "Gerçek para yatırmaya ve ticarete hazır mısınız?", "-162753510": "Gerçek hesap ekle", - "-7381040": "Demoda kalın", "-1208519001": "Kasiyere erişmek için gerçek bir Deriv hesabına ihtiyacınız var.", "-175369516": "Deriv X'e hoş geldiniz", "-939154994": "Welcome to Deriv MT5 dashboard", diff --git a/packages/translations/src/translations/vi.json b/packages/translations/src/translations/vi.json index 6f255cde943f..b2a08ae96585 100644 --- a/packages/translations/src/translations/vi.json +++ b/packages/translations/src/translations/vi.json @@ -391,6 +391,7 @@ "489768502": "Thay đổi mật khẩu nhà đầu tư", "491603904": "Trình duyệt không được hỗ trợ", "492198410": "Đảm bảo mọi thứ rõ ràng", + "492566838": "Taxpayer identification number", "497518317": "Chức năng trả về một giá trị", "498144457": "Hóa đơn tiện ích gần đây (ví dụ: điện, nước hoặc gas)", "498562439": "hoặc", @@ -433,6 +434,7 @@ "551569133": "Tìm hiểu thêm về các giới hạn giao dịch", "554410233": "Đây là một trong 10 mật khẩu phổ biến nhất", "555351771": "Sau khi xác định các tham số và tùy chọn giao dịch, bạn có thể hướng dẫn bot của mình mua hợp đồng khi các điều kiện cụ thể được đáp ứng. Để làm điều đó, bạn có thể sử dụng các khối có điều kiện và các \bkhung chỉ số để giúp bot của bạn đưa ra quyết định.", + "555881991": "National Identity Number Slip", "556264438": "Khoảng thời gian", "559224320": "Công cụ “kéo và thả” cổ điển của chúng tôi để tạo bot giao dịch, có biểu đồ giao dịch dạng pop-up, dành cho người dùng nâng cao.", "561982839": "Thay đổi loại tiền tệ", @@ -557,12 +559,14 @@ "693396140": "Hủy thỏa thuận (hết hạn)", "696870196": "- Giờ mở cửa: đánh dấu thời gian mở", "697630556": "Thị trường này hiện đã đóng.", + "698037001": "National Identity Number", "698748892": "Hãy thử lại", "699159918": "1. Điền đơn khiếu nại", "700259824": "Loại Tiền Tệ", "701034660": "Chúng tôi vẫn đang xử lý yêu cầu rút tiền của bạn.<0 />Vui lòng đợi đến khi việc chuyển tiền được hoàn thành trước khi vô hiêu hóa tài khoản của bạn.", "701462190": "Giá khởi điểm", "701647434": "Tìm kiếm chuỗi", + "702451070": "National ID (No Photo)", "705299518": "Tiếp theo, tải lên trang ảnh trong hộ chiếu của bạn.", "706413212": "Để truy cập vào thủ quỹ, bạn đang ở trong tài khoản {{regulation}} {{currency}} ({{loginid}}) của bạn.", "706727320": "Tần xuất giao dịch các quyền chọn nhị phân", @@ -892,6 +896,7 @@ "1096175323": "Bạn sẽ cần một tài khoản Deriv", "1098147569": "Mua hàng hóa hoặc cổ phần của một công ty.", "1098622295": "\"i\" bắt đầu với giá trị bằng 1, và sễ tăng thêm 2 sau mỗi vòng lặp. Vòng lặp sẽ được thực hiện cho đến khi \"i\" đạt giá trị 12, sau đó vòng lặp sẽ kết thúc.", + "1100133959": "National ID", "1100870148": "Để tìm hiểu thêm về giới hạn tài khoản và cách chúng áp dụng, vui lòng truy cập <0>Trung tâm hỗ trợ..", "1101560682": "ngăn xếp", "1101712085": "Giá Mua", @@ -1182,6 +1187,7 @@ "1422060302": "\bKhung này thay thế một mục cụ thể trong danh sách bằng một mục khác. Nó cũng có thể chèn mục mới trong danh sách vào một vị trí cụ thể.", "1422129582": "Mọi chi tiết phải rõ ràng — không bị mờ", "1423082412": "\bChữ số cuối", + "1423296980": "Enter your SSNIT number", "1424741507": "Xem thêm", "1424779296": "Nếu gần đây bạn đã sử dụng bot nhưng không thấy chúng trong danh sách này, thì đó có thể là do bạn:", "1428657171": "Bạn chỉ có thể nạp tiền. Vui lòng liên hệ với chúng tôi qua <0>live chat để biết thêm thông tin.", @@ -1200,6 +1206,7 @@ "1442747050": "Số tiền thua: <0>{{profit}}", "1442840749": "Số nguyên ngẫu nhiên", "1443478428": "Đề nghị đã chọn không tồn tại", + "1444843056": "Corporate Affairs Commission", "1445592224": "Bạn đã vô tình đưa cho chúng tôi một tài khoản email khác (Thường là một tài khoản cho công việc hoặc cá nhân thay vì tài khoản mà bạn định đăng ký).", "1446742608": "Nhấp vào đây nếu bạn muốn khám phá lại.", "1449462402": "Đang xét duyệt", @@ -1529,6 +1536,7 @@ "1817154864": "Khung này cung cấp cho bạn một số ngẫu nhiên từ trong phạm vi đã đặt.", "1820242322": "ví dụ. Hợp chủng quốc Hoa kì", "1820332333": "Nạp", + "1821818748": "Enter Driver License Reference number", "1823177196": "Phổ biến nhất", "1824193700": "Khung này cung cấp cho bạn chữ số cuối cùng của giá trị tick mới nhất.", "1824292864": "Mua", @@ -1582,6 +1590,7 @@ "1873838570": "Vui lòng xác minh địa chỉ của bạn", "1874481756": "Sử dụng khung này để mua hợp đồng cụ thể mà bạn muốn. Bạn có thể thêm nhiều khung Mua cùng với các khung có điều kiện để xác định điều kiện mua của bạn. \bKhung này chỉ có thể được sử dụng trong khung Điều kiện mua hàng.", "1874756442": "BVI", + "1876015808": "Social Security and National Insurance Trust", "1876325183": "Phút", "1877225775": "Chứng minh địa chỉ của bạn đã được phê duyệt", "1877272122": "Chúng tôi giới hạn mức chi trả tối đa cho mỗi hợp đồng và mức này sẽ khác nhau cho mỗi tài sản. Hợp đồng của bạn sẽ tự động đóng khi đạt đến mức chi trả tối đa.", @@ -1619,6 +1628,7 @@ "1914014145": "Hôm nay", "1914270645": "Thời lượng nến mặc định: {{ candle_interval_type }}", "1914725623": "Tải lên trang có chứa ảnh của bạn.", + "1917178459": "Bank Verification Number", "1917523456": "Khung này gửi tin nhắn đến kênh Telegram. Bạn sẽ cần phải tạo bot Telegram của riêng mình để sử dụng khung này.", "1917804780": "Bạn sẽ mất quyền truy cập vào tài khoản Quyền chọn của mình khi tài khoản này bị đóng, vì vậy hãy đảm bảo rút tất cả tiền của bạn. (Nếu bạn có tài khoản CFD, bạn cũng có thể chuyển tiền từ tài khoản Quyền chọn sang tài khoản CFD của mình.)", "1918633767": "Dòng địa chỉ thứ hai không ở định dạng thích hợp.", @@ -1637,7 +1647,6 @@ "1924365090": "Để sau", "1924765698": "Nơi sinh*", "1925090823": "Rất tiếc, giao dịch không khả dụng tại {{clients_country}}.", - "1927244779": "Chỉ sử dụng những ký tự đặc biệt sau: . , ' : ; ( ) @ # / -", "1928930389": "GBP/NOK", "1929309951": "Tình trạng tuyển dụng", "1929379978": "Đổi giữa tài khoản thử nghiệm và tài khoản thực của bạn.", @@ -1830,6 +1839,9 @@ "2145995536": "Tạo tài khoản mới", "2146336100": "trong văn bản %1 lấy %2", "2146892766": "Kinh nghiệm giao dịch các quyền chọn nhị phân", + "-1515286538": "Vui lòng nhập số văn bản của bạn. ", + "-477761028": "Voter ID", + "-1466346630": "CPF", "-612174191": "Dòng địa chỉ đầu tiên là bắt buộc", "-242734402": "Vui lòng chỉ sử dụng {{max}} ký tự.", "-378415317": "Yêu cầu phải có Bang", @@ -2013,6 +2025,7 @@ "-213009361": "Xác thực hai yếu tố", "-1214803297": "Dashboard-only path", "-526636259": "Lỗi 404", + "-1694758788": "Enter your document number", "-1030759620": "Các nhân viên chính phủ", "-1196936955": "Tải lên ảnh chụp màn hình tên và địa chỉ email của bạn từ phần thông tin cá nhân.", "-1286823855": "Tải lên sao kê hóa đơn di động của bạn có hiển thị tên và số điện thoại của bạn.", @@ -2081,7 +2094,6 @@ "-1088324715": "Chúng tôi sẽ xem xét tài liệu và thông báo cho bạn về tình trạng của nó trong vòng 1 - 3 ngày.", "-329713179": "Ok", "-1176889260": "Vui lòng chọn một loại văn bản.", - "-1515286538": "Vui lòng nhập số văn bản của bạn. ", "-1785463422": "Xác định danh tính của bạn", "-78467788": "Vui lòng chọn loại văn bản và điền vào số ID.", "-1117345066": "Chọn loại giấy tờ", @@ -2183,7 +2195,6 @@ "-863770104": "Xin lưu ý rằng khi nhấp vào 'OK', bạn đồng ý rằng bạn có nguy cơ hứng chịu rủi ro. Bạn có thể không có đủ kiến thức hoặc kinh nghiệm để đánh giá đúng hoặc giảm thiểu những rủi ro có thể là rất đáng kể này, bao gồm cả nguy cơ mất toàn bộ số tiền bạn đầu tư.", "-1292808093": "Kinh nghiệm trading", "-1458676679": "Bạn nên nhập vào 2-50 ký tự.", - "-1166111912": "Chỉ sử dụng những ký tự đặc biệt sau: {{ permitted_characters }}", "-884768257": "Bạn nên nhập vào 0-35 ký tự.", "-2113555886": "Chỉ các chữ cái, số, dấu cách và dấu nối là được phép.", "-874280157": "Mã số thuế (TIN) này không hợp lệ. Bạn có thể tiếp tục sử dụng nó, nhưng để tạo thuận lợi cho các quy trình thanh toán trong tương lai, thông tin thuế hợp lệ sẽ được yêu cầu.", @@ -2445,8 +2456,8 @@ "-172277021": "Cashier bị khóa để rút tiền", "-1624999813": "Có vẻ như bạn không có hoa hồng để rút vào lúc này. Bạn có thể rút tiền khi bạn nhận được hoa hồng của bạn.", "-197251450": "Bạn không muốn giao dịch bằng {{currency_code}}? Bạn có thể mở một tài khoản tiền kỹ thuật số khác.", - "-1900848111": "Đây là tài khoản {{currency_code}} của bạn.", - "-749765720": "Đơn vị tiền tệ trong tài khoản tiền pháp định của bạn được đặt thành {{currency_code}}.", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "Quản lý tài khoản của bạn ", "-1463156905": "Tìm hiểu thêm về các phương thức thanh toán", "-1077304626": "Số lượng ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "Có vẻ như bạn không có tài khoản {{regulation}} thực. Để sử dụng cổng thu ngân, chuyển sang tài khoản {{active_real_regulation}} thực của bạn, hoặc tạo một tài khoản {{regulation}} thực.", "-1858915164": "Bạn đã sẵn sàng để nạp tiền và giao dịch thật?", "-162753510": "Thêm tài khoản thực", - "-7381040": "Tiếp tục thử nghiệm", "-1208519001": "Bạn cần một tài khoản Deriv thực để truy cập vào cashier.", "-175369516": "Chào mừng đến với Deriv X", "-939154994": "Welcome to Deriv MT5 dashboard", diff --git a/packages/translations/src/translations/zh_cn.json b/packages/translations/src/translations/zh_cn.json index f0901b48e08a..3df5ef803713 100644 --- a/packages/translations/src/translations/zh_cn.json +++ b/packages/translations/src/translations/zh_cn.json @@ -391,6 +391,7 @@ "489768502": "更改投资者密码", "491603904": "不受支持的浏览器", "492198410": "确保一切都很清楚", + "492566838": "纳税人识别号", "497518317": "返回数值的功能", "498144457": "近期的水电煤费单(例如电费、水费或煤气费)", "498562439": "或", @@ -433,6 +434,7 @@ "551569133": "了解交易限制的详细信息", "554410233": "这是10个最常用的密码", "555351771": "定义好了交易参数和交易期权以后,当达到特定条件时,您还能指示机器人购入合约。您可使用条件程序块和指示器来帮助机器人做决定,以实现此功能。", + "555881991": "国民身份证号码单", "556264438": "时间间隔", "559224320": "我们的经典拖放工具为高级用户创建含弹出式交易图表的交易机器人。", "561982839": "更改币种", @@ -557,12 +559,14 @@ "693396140": "交易取消(已过期)", "696870196": "- 开市时间:开市时间戳", "697630556": "此市场目前已关闭。", + "698037001": "国民身份证号码", "698748892": "让我们再试一次", "699159918": "1. 提出投诉", "700259824": "账户币种", "701034660": "我们还在处理您的取款请求。<0 />停用账户前请等待交易完成。", "701462190": "入市现价", "701647434": "搜索字串", + "702451070": "国民身份证(无照片)", "705299518": "接下来,上传包含照片的护照页面。", "706413212": "要访问收银台,您已在使用 {{regulation}} {{currency}} ({{loginid}}) 账户。", "706727320": "二元期权交易频率", @@ -892,6 +896,7 @@ "1096175323": "需要有 Deriv 账户", "1098147569": "购买大宗商品或公司股票。", "1098622295": "“i”从值1开始,并且每次迭代将增加2。循环将重复运行,直到“i”的值达到12,然后终止循环。", + "1100133959": "国民身份证", "1100870148": "要了解有关账户限制及其实施方法的更多信息,请访问<0>帮助中心。", "1101560682": "堆栈", "1101712085": "买入价", @@ -1182,6 +1187,7 @@ "1422060302": "此程序块用另一个给定项目替换列表中的特定项目。它还可以将新项目插入列表中的特定位置。", "1422129582": "所有细节必须清楚-不可模糊", "1423082412": "最后的数字", + "1423296980": "输入 SSNIT 号码", "1424741507": "查看其他", "1424779296": "如果您最近使用过机器人,但此列表中没有显示。可能是因为您:", "1428657171": "只能存款。请通过<0>实时聊天联系我们以获取更多信息。", @@ -1200,6 +1206,7 @@ "1442747050": "亏损金额: <0>{{profit}}", "1442840749": "随机整数", "1443478428": "选定的建议并不存在", + "1444843056": "公司事务委员会", "1445592224": "您不小心给了我们另一个电子邮件地址(通常非您本意,而是属于工作或个人性质的)。", "1446742608": "如果需要重复浏览,请单击此处。", "1449462402": "正在审核", @@ -1529,6 +1536,7 @@ "1817154864": "此程序块提供设置范围内的随机数字.", "1820242322": "例如美国", "1820332333": "充值", + "1821818748": "输入驾驶执照参考号", "1823177196": "最热门", "1824193700": "此程序块提供最新跳动点数值的最后数字。", "1824292864": "看涨期权", @@ -1582,6 +1590,7 @@ "1873838570": "请验证地址", "1874481756": "用此程序块购入所需的特定合约。您可一并添加多个购入程序块与条件程序块以定义您的购入条件。此程序块只能在购入条件程序块内使用。", "1874756442": "BVI", + "1876015808": "社会保障和国民保险信托基金", "1876325183": "分钟", "1877225775": "您的地址证明已通过验证", "1877272122": "我们限制了每份合约的最高赔付额,每种资产的最高赔付额都不一样。当达到最高赔付额时,合约将自动关闭。", @@ -1619,6 +1628,7 @@ "1914014145": "今天", "1914270645": "默认蜡烛间隔: {{ candle_interval_type }}", "1914725623": "上传包含照片的页面。", + "1917178459": "银行验证码", "1917523456": "此程序块将消息发送到Telegram通道。您需创建自己的Telegram机器人才能使用此程序块。", "1917804780": "期权账户关闭后,您将无法访问该账户,因此请务必提出所有资金。(如果有差价合约账户,您也可以将资金从期权账户转移到差价合约账户。)", "1918633767": "地址第二行的格式不正确。", @@ -1637,7 +1647,6 @@ "1924365090": "以后再说", "1924765698": "出生地*", "1925090823": "对不起,在{{clients_country}} 无法交易。", - "1927244779": "仅允许以下特殊字符: . , ' : ; ( ) @ # / -", "1928930389": "英镑/挪威克罗钠", "1929309951": "就业状况", "1929379978": "演示账户和真实账户之间切换。", @@ -1830,6 +1839,9 @@ "2145995536": "开立新账户", "2146336100": "%1文本中获取%2", "2146892766": "二元期权交易经验", + "-1515286538": "请输入文件号. ", + "-477761028": "选民身份证", + "-1466346630": "公积金", "-612174191": "地址第一行为必填项", "-242734402": "仅 {{max}} 字符。", "-378415317": "州/区是必填项", @@ -2013,6 +2025,7 @@ "-213009361": "双因素身份验证", "-1214803297": "仅限仪表板路径", "-526636259": "错误 404", + "-1694758788": "输入文件号", "-1030759620": "政府官员", "-1196936955": "从个人详细信息区上传姓名和电子邮件地址的屏幕截图。", "-1286823855": "上传显示姓名和电话号码的手机账单。", @@ -2081,7 +2094,6 @@ "-1088324715": "将审核文件并于1至3个工作日内通知状况。", "-329713179": "确定", "-1176889260": "请选择文件类型.", - "-1515286538": "请输入文件号. ", "-1785463422": "身份验证", "-78467788": "请选择文件类型及输入 ID 号。", "-1117345066": "选择文件类型", @@ -2183,7 +2195,6 @@ "-863770104": "请注意,单击 “确定” 可能会使您面临风险。您可能不具备正确评估或降低风险的知识或经验。风险可能很大,包括损失全部投资金额。", "-1292808093": "交易经验", "-1458676679": "您必须输入2-50个字符。", - "-1166111912": "仅允许以下特殊字符: {{ permitted_characters }}", "-884768257": "您必须输入0-35个字符。", "-2113555886": "只允许字母、数字、空格和连字符。", "-874280157": "此税务识别号(TIN) 无效。您可继续使用,但有必要提供有效的税务信息,使将来的付款程序更加方便。", @@ -2445,8 +2456,8 @@ "-172277021": "收银台提款已被锁定", "-1624999813": "目前看来您没有佣金可提取。收到佣金后即可提款。", "-197251450": "不想以{{currency_code}} 交易?您可以另外开立加密货币账户。", - "-1900848111": "这是您的 {{currency_code}} 账户。", - "-749765720": "您的法定账户币种已设置为 {{currency_code}}。", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "管理您的账户 ", "-1463156905": "了解付款方法的详细信息", "-1077304626": "金额 ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "看来您没有真正的 {{regulation}} 账户。要使用收银台,请切换到 {{active_real_regulation}} 真实账户,或开立 {{regulation}} 真实账户。", "-1858915164": "准备好真实存款和交易?", "-162753510": "添加真实账户", - "-7381040": "继续演示交易", "-1208519001": "需有真实 Deriv 账户才能访问收银台。", "-175369516": "欢迎来到 Deriv X", "-939154994": "欢迎来到 Deriv MT5 仪表板", diff --git a/packages/translations/src/translations/zh_tw.json b/packages/translations/src/translations/zh_tw.json index 94d535606329..02abf7955eb8 100644 --- a/packages/translations/src/translations/zh_tw.json +++ b/packages/translations/src/translations/zh_tw.json @@ -391,6 +391,7 @@ "489768502": "更改投資者密碼", "491603904": "不受支援的瀏覽器", "492198410": "確保一切都很清楚", + "492566838": "納稅人識別號碼", "497518317": "返回數值的功能", "498144457": "近期的水電煤費單(例如電費、水費或煤氣費)", "498562439": "或", @@ -433,6 +434,7 @@ "551569133": "了解交易限制的詳細資訊", "554410233": "這是10個最常用的密碼", "555351771": "定義好了交易參數和交易期權以後,當達到特定條件時,您還能指示機器人購入合約。您可使用條件區塊和指示器區塊來幫助機器人做決定,以實現此功能。", + "555881991": "國民身份證號碼單", "556264438": "時間間隔", "559224320": "我們的經典拖放工具為高級使用者建立含彈出式交易圖表的交易機器人。", "561982839": "更改幣種", @@ -557,12 +559,14 @@ "693396140": "交易取消(已過期)", "696870196": "- 開市時間:開市時間戳", "697630556": "此市場目前已關閉。", + "698037001": "國民身份證號碼", "698748892": "讓我們再試一次", "699159918": "1. 提出投訴", "700259824": "帳戶幣種", "701034660": "取款請求還在處理中。<0 />停用帳戶前請等待交易完成。", "701462190": "入市現價", "701647434": "搜尋字串", + "702451070": "國民身份證(無照片)", "705299518": "接下來,上傳包含照片的護照頁面。", "706413212": "要存取收銀台,現在已在使用 {{regulation}} {{currency}} ({{loginid}}) 帳戶。", "706727320": "二元期權交易頻率", @@ -892,6 +896,7 @@ "1096175323": "需要有 Deriv 帳戶", "1098147569": "購買大宗商品或公司股票。", "1098622295": "“i”從值1開始,並且每次反覆運算將增加2。迴圈將重覆運行,直到“i”的值達到12,然後終止迴圈。", + "1100133959": "國民身份證", "1100870148": "要了解有關帳戶限制及其實施方法的更多資訊,請前往<0>幫助中心。", "1101560682": "堆疊", "1101712085": "買入價", @@ -1182,6 +1187,7 @@ "1422060302": "此區塊用另一個給定項目替換清單中的特定項目。它還可以將新項目插入清單中的特定位置。", "1422129582": "所有詳細資料必須清楚-不可模糊", "1423082412": "最後數位", + "1423296980": "輸入 SSNIT 編號", "1424741507": "檢視其他", "1424779296": "如果最近使用過機器人,但此清單中沒有顯示。可能是因為:", "1428657171": "只能存款。請通過在<0>即時聊天與我們聯繫以獲取更多資訊。", @@ -1200,6 +1206,7 @@ "1442747050": "虧損金額: <0>{{profit}}", "1442840749": "隨機整數", "1443478428": "選定的建議並不存在", + "1444843056": "企業事務委員會", "1445592224": "您不小心給了我們另一個電子郵件地址(通常非您本意,而是屬於工作或個人性質的)。", "1446742608": "如果需要重複瀏覽,請點選此處。", "1449462402": "審核中", @@ -1529,6 +1536,7 @@ "1817154864": "此區塊提供設定範圍內的隨機數字。", "1820242322": "例如美國", "1820332333": "充值", + "1821818748": "輸入駕駛執照參考編號", "1823177196": "最熱門", "1824193700": "此區塊提供最新跳動點數值的最後數字。", "1824292864": "看漲期權", @@ -1582,6 +1590,7 @@ "1873838570": "請驗證地址", "1874481756": "用此區塊購入所需的特定合約。可一併增加多個購入區塊與條件區塊以定義購入條件。此區塊只能在購入條件區塊內使用。", "1874756442": "BVI", + "1876015808": "社會保障與國民保險信託", "1876325183": "分鐘", "1877225775": "地址證明已通過驗證", "1877272122": "我們限制了每份合約的最高賠付額,每種資產的最高賠付額都不一樣。當達到最高賠付額時,合約將自動關閉。", @@ -1619,6 +1628,7 @@ "1914014145": "今天", "1914270645": "預設燭線間隔: {{ candle_interval_type }}", "1914725623": "上傳包含照片的頁面。", + "1917178459": "銀行驗證號碼", "1917523456": "此區塊將消息傳送到 Telegram 通道。需建立自己的 Telegram 機器人才能使用此區塊。", "1917804780": "期權帳戶關閉後,將無法存取該帳戶,因此請務必提出所有資金。 (如果有差價合約帳戶,也可以將資金從期權帳戶轉移到差價合約帳戶。)", "1918633767": "地址第二行的格式不正確。", @@ -1637,7 +1647,6 @@ "1924365090": "以後再說", "1924765698": "出生地*", "1925090823": "對不起,在 {{clients_country}} 無法交易。", - "1927244779": "僅允許以下特殊字元: . , ' : ; ( ) @ # / -", "1928930389": "英鎊/挪威克羅鈉", "1929309951": "就業狀況", "1929379978": "示範帳戶和真實帳戶之間切換。", @@ -1830,6 +1839,9 @@ "2145995536": "開立新帳戶", "2146336100": "%1文字中取得 %2", "2146892766": "二元期權交易經驗", + "-1515286538": "請輸入文件號。 ", + "-477761028": "選民身份證", + "-1466346630": "公積金", "-612174191": "地址第一行為必填欄位", "-242734402": "僅 {{max}} 個字元。", "-378415317": "州/區為必填欄位", @@ -2013,6 +2025,7 @@ "-213009361": "雙因素身份驗證", "-1214803297": "僅儀表板路徑", "-526636259": "錯誤 404", + "-1694758788": "輸入文件編號", "-1030759620": "政府官員", "-1196936955": "從個人資料區上傳姓名和電子郵件地址的螢幕擷取畫面。", "-1286823855": "上傳顯示姓名和電話號碼的手機帳單。", @@ -2081,7 +2094,6 @@ "-1088324715": "將審核文件並於1至3個工作日內通知狀況。", "-329713179": "確定", "-1176889260": "請選擇文件類型。", - "-1515286538": "請輸入文件號。 ", "-1785463422": "身份驗證", "-78467788": "請選擇文件類型及輸入 ID 號。", "-1117345066": "選擇文件類型", @@ -2183,7 +2195,6 @@ "-863770104": "請注意,點選「確定」可能會使您面臨風險。您可能不具備正確評估或降低風險的知識或經驗。風險可能很大,包括損失全部投資金額。", "-1292808093": "交易經驗", "-1458676679": "必須輸入2-50 個字元。", - "-1166111912": "僅允許以下特殊字元: {{ permitted_characters }}", "-884768257": "必須輸入0-35 個字元。", "-2113555886": "僅允許字母、數字、空格和連字符。", "-874280157": "此稅務識別號 (TIN) 無效。可繼續使用,但有必要提供有效的稅務資料,使將來的付款程序更加方便。", @@ -2445,8 +2456,8 @@ "-172277021": "收銀台提款已被鎖", "-1624999813": "您目前似乎沒有佣金可提款。收到佣金後即可提款。", "-197251450": "不想以{{currency_code}} 交易?可以另外開立加密貨幣帳戶。", - "-1900848111": "這是 {{currency_code}} 帳戶。", - "-749765720": "法定帳戶幣種已設定為 {{currency_code}}。", + "-781389987": "This is your {{regulation_text}} {{currency_code}} account {{loginid}}", + "-474666134": "This is your {{currency_code}} account {{loginid}}", "-803546115": "管理帳戶 ", "-1463156905": "了解付款方法的詳細資訊", "-1077304626": "金額 ({{currency}})", @@ -3077,7 +3088,6 @@ "-352838513": "看來您沒有真正的 {{regulation}} 帳戶。要使用收銀台,請切換到 {{active_real_regulation}} 真實帳戶,或開立 {{regulation}} 真實帳戶。", "-1858915164": "準備好真實存款和交易?", "-162753510": "新增真實帳戶", - "-7381040": "繼續示範交易", "-1208519001": "需要有真實 Deriv 帳戶才能訪問收銀台。", "-175369516": "歡迎來到 Deriv X", "-939154994": "歡迎來到 Deriv MT5 儀表板", From 8659c86dd76b846a98a2cf925e694af5ea82aa4a Mon Sep 17 00:00:00 2001 From: Rostik Kayko <119863957+rostislav-deriv@users.noreply.github.com> Date: Fri, 28 Apr 2023 04:54:55 +0300 Subject: [PATCH 13/16] Rostislav / 88096 / Extract `is_system_maintenance` and `is_cashier_locked` from `GeneralStore` into the `hooks` package (#7560) * refactor: init pr * refactor: added the hook * refactor: is_system_maintenance usages updated * fix: fixed bad refactoring * refactor: usage in tests updated * feat: added useCashierLocked * refactor: oopsie * refactor: is cashier locked is now a hook * refactor: added deprecation note * test: added tests for useIsSystemMaintenance * test: added tests for useCashierLocked + a few minor changes * refactor: minor change * refactor: not using mockStore in cashier now + some refactoring * refactor: fixed bad refactor * refactor: rmved deprecated functions * refactor: rmving 'Types' aliases * refactor: rmved 'Types' aliases * refactor: @farzin-deriv's suggested change with an adjustment * refactor: same thing as prev but with other hook * Update packages/hooks/src/__tests__/useCashierLocked.spec.tsx Co-authored-by: Farzin Mirzaie <72082844+farzin-deriv@users.noreply.github.com> * refactor: code duplication fix * refactor: a few test files refactored * refactor: on-ramp spec refactored * refactor: use is system maintenance spec refactored * refactor: account transfer spec refactored * refactor: payment agent transfer spec * refactor: rmved deprecated stuff * refactor: withdrawal spec * refactor: account-transfer.spec.tsx * refactor: withdrawal.spec.tsx * refactor: payment-agent.spec.tsx & withdrawal.spec.tsx * refactor: account-transfer.spec.tsx * refactor: on-ramp.spec.tsx * refactor: payment-agent-transfer.spec.tsx * refactor: test coverage * Update packages/hooks/src/useIsSystemMaintenance.ts Co-authored-by: Farzin Mirzaie <72082844+farzin-deriv@users.noreply.github.com> * Update packages/hooks/src/useCashierLocked.ts Co-authored-by: Farzin Mirzaie <72082844+farzin-deriv@users.noreply.github.com> * fix: applied more suggested changes * fix: type error bug * refactor: type override to make a property optional * refactor: updated type to keep documentation (thx @farzin-deriv) * refactor: removed test to see if it changes anything * refactor: removed unused import in deposit.tsx * fix: deposit.spec.tsx should not fail now * refactor: remove TRootStore from specs + some naming changes + minor refactors * fix: removed nonexistent import --------- Co-authored-by: Farzin Mirzaie <72082844+farzin-deriv@users.noreply.github.com> --- .../__tests__/cashier-locked.spec.tsx | 472 +++++------------- .../cashier-locked/cashier-locked.tsx | 7 +- .../no-balance/__tests__/no-balance.spec.tsx | 48 +- .../__tests__/account-transfer.spec.tsx | 271 +++++++--- .../account-transfer/account-transfer.tsx | 12 +- .../pages/deposit/__tests__/deposit.spec.tsx | 86 +--- .../cashier/src/pages/deposit/deposit.tsx | 6 +- .../pages/on-ramp/__tests__/on-ramp.spec.tsx | 278 +++++++---- .../cashier/src/pages/on-ramp/on-ramp.tsx | 5 +- .../__tests__/payment-agent-transfer.spec.js | 141 ------ .../__tests__/payment-agent-transfer.spec.tsx | 217 ++++++++ .../payment-agent-transfer.jsx | 4 +- .../__tests__/payment-agent.spec.js | 106 ---- .../__tests__/payment-agent.spec.tsx | 129 +++++ .../src/pages/payment-agent/payment-agent.jsx | 4 +- .../withdrawal/__tests__/withdrawal.spec.tsx | 329 ++++++++---- .../src/pages/withdrawal/withdrawal.tsx | 11 +- .../stores/__tests__/general-store.spec.ts | 44 +- packages/cashier/src/stores/general-store.ts | 16 - .../src/__tests__/useCashierLocked.spec.tsx | 36 ++ .../__tests__/useIsSystemMaintenance.spec.tsx | 52 ++ packages/hooks/src/index.ts | 2 + packages/hooks/src/useCashierLocked.ts | 12 + packages/hooks/src/useIsSystemMaintenance.ts | 13 + packages/stores/types.ts | 4 +- 25 files changed, 1278 insertions(+), 1027 deletions(-) delete mode 100644 packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.js create mode 100644 packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.tsx delete mode 100644 packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.js create mode 100644 packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.tsx create mode 100644 packages/hooks/src/__tests__/useCashierLocked.spec.tsx create mode 100644 packages/hooks/src/__tests__/useIsSystemMaintenance.spec.tsx create mode 100644 packages/hooks/src/useCashierLocked.ts create mode 100644 packages/hooks/src/useIsSystemMaintenance.ts diff --git a/packages/cashier/src/components/cashier-locked/__tests__/cashier-locked.spec.tsx b/packages/cashier/src/components/cashier-locked/__tests__/cashier-locked.spec.tsx index b6b8ad803103..6ab3ef62a46a 100644 --- a/packages/cashier/src/components/cashier-locked/__tests__/cashier-locked.spec.tsx +++ b/packages/cashier/src/components/cashier-locked/__tests__/cashier-locked.spec.tsx @@ -1,38 +1,29 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; import CashierLocked from '../cashier-locked'; -import { useDepositLocked } from '@deriv/hooks'; -import { TRootStore } from 'Types'; +import { useCashierLocked, useDepositLocked } from '@deriv/hooks'; +import { mockStore } from '@deriv/stores'; import CashierProviders from '../../../cashier-providers'; jest.mock('@deriv/hooks', () => ({ ...jest.requireActual('@deriv/hooks'), useDepositLocked: jest.fn(() => false), + useCashierLocked: jest.fn(() => false), })); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); +const mockUseDepositLocked = useDepositLocked as jest.MockedFunction; +const mockUseCashierLocked = useCashierLocked as jest.MockedFunction; describe('', () => { + beforeEach(() => { + mockUseDepositLocked.mockReturnValue(false); + mockUseCashierLocked.mockReturnValue(false); + }); + it('should show the proper message if there is a crypto cashier maintenance', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: [], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['system_maintenance'] }, current_currency_type: 'crypto', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -40,13 +31,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: true } } }, - }; + }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -57,17 +45,11 @@ describe('', () => { }); it('should show the proper message if crypto withdrawal is suspended', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: [], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['system_maintenance'] }, current_currency_type: 'crypto', - is_deposit_lock: useDepositLocked.mockReturnValue(false), is_withdrawal_lock: true, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -75,13 +57,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: true } } }, - }; + }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -92,17 +71,10 @@ describe('', () => { }); it('should show the proper message if crypto deposit is suspended', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: [], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['system_maintenance'] }, current_currency_type: 'crypto', - is_deposit_lock: useDepositLocked.mockReturnValue(true), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -110,13 +82,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: true } } }, - }; + }); + mockUseDepositLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -127,17 +97,10 @@ describe('', () => { }); it('should show the proper message if there is a cashier maintenance', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: [], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['system_maintenance'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -145,13 +108,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: true } } }, - }; + }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -162,17 +122,10 @@ describe('', () => { }); it('should show the proper message if the client does not provide residence', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['no_residence'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['no_residence'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -180,13 +133,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -197,17 +148,10 @@ describe('', () => { }); it('should show the proper message if the documents are expired', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['documents_expired'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['documents_expired'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -215,13 +159,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -232,17 +174,10 @@ describe('', () => { }); it('should show the proper message if the client has cashier_locked_status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['cashier_locked_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['cashier_locked_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -250,13 +185,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -265,17 +198,10 @@ describe('', () => { }); it('should show the proper message if the client has disabled_status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['disabled_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['disabled_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -283,13 +209,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -298,17 +222,10 @@ describe('', () => { }); it('should show the proper message if the client account has no currency', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_CURRENCY'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_CURRENCY'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -316,13 +233,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -331,17 +246,10 @@ describe('', () => { }); it('should show the proper message if the client is not fully authenticated', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_AUTHENTICATE'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_AUTHENTICATE'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -349,30 +257,21 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText(/Your account has not been authenticated./i)).toBeInTheDocument(); }); it('should show the proper message if the client has ask_financial_risk_approval status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_FINANCIAL_RISK_APPROVAL'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_FINANCIAL_RISK_APPROVAL'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -380,13 +279,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByTestId('dt_financial_assessment_link')).toHaveAttribute( @@ -396,17 +293,10 @@ describe('', () => { }); it('should show the proper message if the client is high risk and has no FA', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['FinancialAssessmentRequired'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['FinancialAssessmentRequired'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -414,13 +304,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText(/Your cashier is locked./i)).toBeInTheDocument(); @@ -431,17 +319,10 @@ describe('', () => { }); it('should show the proper message if the client has ask_tin_information', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_TIN_INFORMATION'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_TIN_INFORMATION'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -449,30 +330,21 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText(/You have not provided your tax identification number./i)).toBeInTheDocument(); }); it('should show the proper message if the client has ask_uk_funds_protection', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_UK_FUNDS_PROTECTION'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_UK_FUNDS_PROTECTION'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -480,30 +352,21 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText(/Your cashier is locked./i)).toBeInTheDocument(); }); it('should show the proper message if the client does not set 30-day turnover limit', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_SELF_EXCLUSION_MAX_TURNOVER_SET'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_SELF_EXCLUSION_MAX_TURNOVER_SET'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -511,13 +374,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -528,17 +389,10 @@ describe('', () => { }); it('should show the proper message if the client has missing required profile fields', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_FIX_DETAILS'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_FIX_DETAILS'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -546,13 +400,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( @@ -563,21 +415,12 @@ describe('', () => { }); it('should show the proper message if the client has self-exluded from the website', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['SelfExclusion'], - }, - accounts: { - CR9000000: { - excluded_until: Number(new Date()), - }, - }, - loginid: 'CR9000000', + account_status: { cashier_validation: ['SelfExclusion'] }, + accounts: { CR9000000: { excluded_until: Number(new Date()) } }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(true), - is_withdrawal_lock: false, - is_identity_verification_needed: false, + loginid: 'CR9000000', mt5_login_list: [ { account_type: 'demo', @@ -585,13 +428,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: false } } }, - }; + }); + mockUseDepositLocked.mockReturnValue(true); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -600,17 +441,10 @@ describe('', () => { }); it('should show the proper message if the client has unwelcome_status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['unwelcome_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['unwelcome_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(true), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -618,30 +452,22 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: false } } }, - }; + }); + mockUseDepositLocked.mockReturnValue(true); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent('Please contact us via live chat.'); }); it('should show the proper message if the client has no_withdrawal_or_trading_status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['no_withdrawal_or_trading_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['no_withdrawal_or_trading_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), is_withdrawal_lock: true, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -649,13 +475,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: false } } }, - }; + }); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -664,17 +487,11 @@ describe('', () => { }); it('should show the proper message if the client has withdrawal_locked_status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['withdrawal_locked_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['withdrawal_locked_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), is_withdrawal_lock: true, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -682,13 +499,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: false } } }, - }; + }); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -697,17 +511,11 @@ describe('', () => { }); it('should show the proper message if the client has only_pa_withdrawals_allowed_status', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['only_pa_withdrawals_allowed_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['only_pa_withdrawals_allowed_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), is_withdrawal_lock: true, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -715,13 +523,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: false } } }, - }; + }); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -730,17 +535,10 @@ describe('', () => { }); it('should prioritize cashier locked message if the client has a combo of deposit and cashier locked reasons', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['ASK_AUTHENTICATE', 'unwelcome_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['ASK_AUTHENTICATE', 'unwelcome_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -748,30 +546,21 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText(/Your account has not been authenticated./i)).toBeInTheDocument(); }); it('should show cashier locked message if the client has a combo of deposit and withdrawal locked reasons', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['no_withdrawal_or_trading_status', 'unwelcome_status'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['no_withdrawal_or_trading_status', 'unwelcome_status'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), - is_withdrawal_lock: false, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -779,13 +568,11 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: true, is_system_maintenance: false } } }, - }; + }); + mockUseCashierLocked.mockReturnValue(true); const { container } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(container).toHaveTextContent( @@ -794,17 +581,11 @@ describe('', () => { }); it('should show the proper message if the client has PACommisionWithdrawalLimit', () => { - const mockRootStore: DeepPartial = { + const mock_root_store = mockStore({ client: { - account_status: { - cashier_validation: ['PACommisionWithdrawalLimit'], - }, - accounts: undefined, - loginid: undefined, + account_status: { cashier_validation: ['PACommisionWithdrawalLimit'] }, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), is_withdrawal_lock: true, - is_identity_verification_needed: false, mt5_login_list: [ { account_type: 'demo', @@ -812,13 +593,10 @@ describe('', () => { }, ], }, - modules: { cashier: { general_store: { is_cashier_locked: false, is_system_maintenance: false } } }, - }; + }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect( diff --git a/packages/cashier/src/components/cashier-locked/cashier-locked.tsx b/packages/cashier/src/components/cashier-locked/cashier-locked.tsx index c4b0f0a33501..ce58f03e8e8d 100644 --- a/packages/cashier/src/components/cashier-locked/cashier-locked.tsx +++ b/packages/cashier/src/components/cashier-locked/cashier-locked.tsx @@ -1,9 +1,8 @@ import React from 'react'; import { useStore, observer } from '@deriv/stores'; -import { useDepositLocked } from '@deriv/hooks'; +import { useCashierLocked, useDepositLocked, useIsSystemMaintenance } from '@deriv/hooks'; import EmptyState from 'Components/empty-state'; import getMessage from './cashier-locked-provider'; -import { useCashierStore } from '../../stores/useCashierStores'; const CashierLocked = observer(() => { const { client } = useStore(); @@ -15,8 +14,8 @@ const CashierLocked = observer(() => { loginid, is_identity_verification_needed, } = client; - const { general_store } = useCashierStore(); - const { is_cashier_locked, is_system_maintenance } = general_store; + const is_cashier_locked = useCashierLocked(); + const is_system_maintenance = useIsSystemMaintenance(); const is_deposit_locked = useDepositLocked(); const state = getMessage({ diff --git a/packages/cashier/src/components/no-balance/__tests__/no-balance.spec.tsx b/packages/cashier/src/components/no-balance/__tests__/no-balance.spec.tsx index 9dc21c746d17..5d57e6705e07 100644 --- a/packages/cashier/src/components/no-balance/__tests__/no-balance.spec.tsx +++ b/packages/cashier/src/components/no-balance/__tests__/no-balance.spec.tsx @@ -3,48 +3,30 @@ import { fireEvent, render, screen } from '@testing-library/react'; import { createBrowserHistory } from 'history'; import { Router } from 'react-router'; import { routes } from '@deriv/shared'; -import { useDepositLocked } from '@deriv/hooks'; import NoBalance from '../no-balance'; import CashierProviders from '../../../cashier-providers'; +import { mockStore } from '@deriv/stores'; jest.mock('@deriv/hooks', () => ({ ...jest.requireActual('@deriv/hooks'), useDepositLocked: jest.fn(() => false), })); -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); +const mock_root_store = mockStore({ + client: { + currency: 'USD', + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: { general_store: { setCashierTabIndex: jest.fn() } } }, +}); describe('', () => { const history = createBrowserHistory(); - let mockRootStore; - - beforeEach(() => { - mockRootStore = { - client: { - currency: 'USD', - mt5_login_list: [ - { - account_type: 'demo', - sub_account_type: 'financial_stp', - }, - ], - }, - modules: { - cashier: { - deposit: { is_deposit_locked: useDepositLocked.mockReturnValue(false) }, - general_store: { setCashierTabIndex: jest.fn() }, - }, - }, - }; - }); it('component should render', () => { render( @@ -52,7 +34,7 @@ describe('', () => { , { - wrapper: ({ children }) => {children}, + wrapper: ({ children }) => {children}, } ); @@ -67,7 +49,7 @@ describe('', () => { , { - wrapper: ({ children }) => {children}, + wrapper: ({ children }) => {children}, } ); diff --git a/packages/cashier/src/pages/account-transfer/__tests__/account-transfer.spec.tsx b/packages/cashier/src/pages/account-transfer/__tests__/account-transfer.spec.tsx index bf70666770f5..371b8b4995b5 100644 --- a/packages/cashier/src/pages/account-transfer/__tests__/account-transfer.spec.tsx +++ b/packages/cashier/src/pages/account-transfer/__tests__/account-transfer.spec.tsx @@ -1,25 +1,11 @@ import React from 'react'; import { render, screen, waitFor } from '@testing-library/react'; import { Router } from 'react-router'; -import { useDepositLocked } from '@deriv/hooks'; +import { useCashierLocked, useDepositLocked } from '@deriv/hooks'; import { createBrowserHistory } from 'history'; import AccountTransfer from '../account-transfer'; import CashierProviders from '../../../cashier-providers'; - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); +import { mockStore, TStores } from '@deriv/stores'; jest.mock('@deriv/shared/src/services/ws-methods', () => ({ __esModule: true, @@ -39,71 +25,85 @@ jest.mock('../account-transfer-no-account', () => jest.fn(() => 'mockedAccountTr jest.mock('../account-transfer-receipt', () => jest.fn(() => 'mockedAccountTransferReceipt')); jest.mock('Components/error', () => jest.fn(() => 'mockedError')); +jest.mock('@deriv/hooks'); +const mockUseDepositLocked = useDepositLocked as jest.MockedFunction; +const mockUseCashierLocked = useCashierLocked as jest.MockedFunction; + +const cashier_mock = { + general_store: { + setActiveTab: jest.fn(), + }, + account_transfer: { + error: {}, + setAccountTransferAmount: jest.fn(), + setIsTransferConfirm: jest.fn(), + onMountAccountTransfer: jest.fn(), + accounts_list: [], + has_no_account: false, + has_no_accounts_balance: false, + is_transfer_confirm: false, + is_transfer_locked: false, + }, + crypto_fiat_converter: {}, + transaction_history: { + onMount: jest.fn(), + is_crypto_transactions_visible: false, + }, +}; + describe('', () => { - let mockRootStore; beforeEach(() => { - mockRootStore = { - client: { - is_switching: false, - is_virtual: false, - mt5_login_list: [ - { - account_type: 'demo', - sub_account_type: 'financial_stp', - }, - ], - }, - ui: { - is_dark_mode_on: false, - }, - modules: { - cashier: { - deposit: { is_deposit_locked: useDepositLocked.mockReturnValue(true) }, - general_store: { - setActiveTab: jest.fn(), - is_cashier_locked: false, - }, - account_transfer: { - error: {}, - setAccountTransferAmount: jest.fn(), - setIsTransferConfirm: jest.fn(), - onMountAccountTransfer: jest.fn(), - accounts_list: [], - has_no_account: false, - has_no_accounts_balance: false, - is_transfer_confirm: false, - is_transfer_locked: false, - }, - crypto_fiat_converter: {}, - transaction_history: { - onMount: jest.fn(), - is_crypto_transactions_visible: false, - }, - }, - }, - }; + mockUseDepositLocked.mockReturnValue(false); + mockUseCashierLocked.mockReturnValue(false); }); const props = { setSideNotes: jest.fn(), + onClose: jest.fn(), }; - const renderAccountTransfer = () => { + const renderAccountTransfer = (store: TStores) => { render(, { - wrapper: ({ children }) => {children}, + wrapper: ({ children }) => {children}, }); }; it('should render the account transfer form', async () => { - renderAccountTransfer(); + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: cashier_mock, + }, + }); + renderAccountTransfer(mock_root_store); expect(await screen.findByText('mockedAccountTransferForm')).toBeInTheDocument(); }); it('should not show the side notes when switching', async () => { - mockRootStore.client.is_switching = true; + const mock_root_store = mockStore({ + client: { + is_switching: true, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: cashier_mock, + }, + }); - renderAccountTransfer(); + renderAccountTransfer(mock_root_store); await waitFor(() => { expect(props.setSideNotes).toHaveBeenCalledWith(null); @@ -112,11 +112,24 @@ describe('', () => { it('should render the virtual component if client is using a demo account', async () => { const history = createBrowserHistory(); - mockRootStore.client.is_virtual = true; + const mock_root_store = mockStore({ + client: { + is_virtual: true, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: cashier_mock, + }, + }); render(, { wrapper: ({ children }) => ( - + {children} ), @@ -128,46 +141,130 @@ describe('', () => { }); it('should render the cashier locked component if cashier is locked', async () => { - mockRootStore.modules.cashier.general_store.is_cashier_locked = true; + mockUseCashierLocked.mockReturnValue(true); + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: cashier_mock, + }, + }); - renderAccountTransfer(); + renderAccountTransfer(mock_root_store); expect(await screen.findByText('mockedCashierLocked')).toBeInTheDocument(); }); it('should render the transfer lock component if only transfer is locked', async () => { - mockRootStore.modules.cashier.account_transfer.is_transfer_locked = true; + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + account_transfer: { + ...cashier_mock.account_transfer, + is_transfer_locked: true, + }, + }, + }, + }); - renderAccountTransfer(); + renderAccountTransfer(mock_root_store); expect(await screen.findByText('Transfers are locked')).toBeInTheDocument(); }); it('should render the error component if there are errors when transferring between accounts', async () => { - mockRootStore.modules.cashier.account_transfer.error = { - message: 'error', - }; + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + account_transfer: { + ...cashier_mock.account_transfer, + error: { message: 'error' }, + }, + }, + }, + }); - renderAccountTransfer(); + renderAccountTransfer(mock_root_store); expect(await screen.findByText('mockedError')).toBeInTheDocument(); }); it('should render the no account component if the client has only one account', async () => { - mockRootStore.modules.cashier.account_transfer.has_no_account = true; + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + account_transfer: { + ...cashier_mock.account_transfer, + has_no_account: true, + }, + }, + }, + }); - renderAccountTransfer(); + renderAccountTransfer(mock_root_store); expect(await screen.findByText('mockedAccountTransferNoAccount')).toBeInTheDocument(); }); it('should render the no balance component if the account has no balance', async () => { - mockRootStore.modules.cashier.account_transfer.has_no_accounts_balance = true; + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + account_transfer: { + ...cashier_mock.account_transfer, + has_no_accounts_balance: true, + }, + }, + }, + }); + const history = createBrowserHistory(); render(, { wrapper: ({ children }) => ( - + {children} ), @@ -177,9 +274,27 @@ describe('', () => { }); it('should show the receipt if transfer is successful', async () => { - mockRootStore.modules.cashier.account_transfer.is_transfer_confirm = true; + const mock_root_store = mockStore({ + client: { + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + account_transfer: { + ...cashier_mock.account_transfer, + is_transfer_confirm: true, + }, + }, + }, + }); - renderAccountTransfer(); + renderAccountTransfer(mock_root_store); expect(await screen.findByText('mockedAccountTransferReceipt')).toBeInTheDocument(); }); diff --git a/packages/cashier/src/pages/account-transfer/account-transfer.tsx b/packages/cashier/src/pages/account-transfer/account-transfer.tsx index 66111279a64b..7714380a7e56 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer.tsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer.tsx @@ -13,11 +13,13 @@ import AccountTransferForm from './account-transfer-form'; import AccountTransferNoAccount from './account-transfer-no-account'; import AccountTransferLocked from './account-transfer-locked'; import { useCashierStore } from '../../stores/useCashierStores'; +import { useCashierLocked } from '@deriv/hooks'; type TAccountTransferProps = { - onClickDeposit?: () => void; - onClickNotes?: () => void; - onClose: () => void; + onClickDeposit?: VoidFunction; + onClickNotes?: VoidFunction; + onClose: VoidFunction; + openAccountSwitcherModal?: VoidFunction; setSideNotes?: (notes: TSideNotesProps) => void; }; @@ -37,8 +39,8 @@ const AccountTransfer = observer(({ onClickDeposit, onClickNotes, onClose, setSi setAccountTransferAmount, setIsTransferConfirm, } = account_transfer; - - const { is_cashier_locked, is_loading, setActiveTab } = general_store; + const { is_loading, setActiveTab } = general_store; + const is_cashier_locked = useCashierLocked(); const { is_crypto_transactions_visible, onMount: recentTransactionOnMount } = transaction_history; diff --git a/packages/cashier/src/pages/deposit/__tests__/deposit.spec.tsx b/packages/cashier/src/pages/deposit/__tests__/deposit.spec.tsx index 5c6d95a30761..2e783e330213 100644 --- a/packages/cashier/src/pages/deposit/__tests__/deposit.spec.tsx +++ b/packages/cashier/src/pages/deposit/__tests__/deposit.spec.tsx @@ -1,15 +1,17 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { useDepositLocked } from '@deriv/hooks'; +import { useCashierLocked, useDepositLocked, useIsSystemMaintenance } from '@deriv/hooks'; import { ContentFlag } from '@deriv/shared'; import { mockStore } from '@deriv/stores'; import CashierProviders from '../../../cashier-providers'; import Deposit from '../deposit'; -import { TRootStore } from '../../../types'; +import { beforeEach } from '@jest/globals'; jest.mock('@deriv/hooks', () => ({ ...jest.requireActual('@deriv/hooks'), useDepositLocked: jest.fn(() => false), + useCashierLocked: jest.fn(() => false), + useIsSystemMaintenance: jest.fn(() => false), })); jest.mock('@deriv/components', () => ({ @@ -63,8 +65,14 @@ jest.mock('../deposit-locked', () => { }); describe('', () => { + beforeEach(() => { + (useDepositLocked as jest.Mock).mockReturnValue(false); + (useCashierLocked as jest.Mock).mockReturnValue(false); + (useIsSystemMaintenance as jest.Mock).mockReturnValue(false); + }); + it('should render component', () => { - const mockRootStore = mockStore({ + const mock_root_store = mockStore({ client: { mt5_login_list: [ { @@ -92,11 +100,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, - is_deposit: false, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -106,9 +111,7 @@ describe('', () => { }); const { rerender } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('Loading')).toBeInTheDocument(); @@ -145,10 +148,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: false, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -158,9 +159,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('Virtual')).toBeInTheDocument(); @@ -193,10 +192,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: true, is_deposit: false, is_loading: false, - is_system_maintenance: true, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -204,11 +201,11 @@ describe('', () => { }, traders_hub: { content_flag: ContentFlag.CR_DEMO }, }); + (useCashierLocked as jest.Mock).mockReturnValue(true); + (useIsSystemMaintenance as jest.Mock).mockReturnValue(true); const { rerender } = render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('CashierLocked')).toBeInTheDocument(); @@ -249,10 +246,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: false, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -262,9 +257,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('FundsProtection')).toBeInTheDocument(); @@ -282,7 +275,6 @@ describe('', () => { currency: 'USD', can_change_fiat_currency: false, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(true), is_switching: false, is_virtual: false, }, @@ -298,10 +290,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: false, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -309,11 +299,10 @@ describe('', () => { }, traders_hub: { content_flag: ContentFlag.CR_DEMO }, }); + (useDepositLocked as jest.Mock).mockReturnValue(true); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('DepositLocked')).toBeInTheDocument(); @@ -331,7 +320,6 @@ describe('', () => { currency: 'USD', can_change_fiat_currency: false, current_currency_type: 'fiat', - is_deposit_lock: useDepositLocked.mockReturnValue(false), is_switching: false, is_virtual: false, }, @@ -347,10 +335,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: false, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -360,9 +346,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('CryptoTransactionsHistory')).toBeInTheDocument(); @@ -395,10 +379,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: true, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -408,9 +390,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('Error')).toBeInTheDocument(); @@ -443,11 +423,9 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: false, is_loading: false, is_crypto: true, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -457,9 +435,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('CryptoDeposit')).toBeInTheDocument(); @@ -492,10 +468,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: true, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -505,9 +479,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('Real')).toBeInTheDocument(); @@ -540,10 +512,8 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_deposit: false, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -553,9 +523,7 @@ describe('', () => { }); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(screen.getByText('CashierOnboarding')).toBeInTheDocument(); @@ -589,11 +557,9 @@ describe('', () => { onMountDeposit: jest.fn(), }, general_store: { - is_cashier_locked: false, is_crypto: true, is_deposit: true, is_loading: false, - is_system_maintenance: false, setActiveTab: jest.fn(), setIsDeposit: jest.fn(), }, @@ -605,9 +571,7 @@ describe('', () => { const setSideNotes = jest.fn(); render(, { - wrapper: ({ children }) => ( - {children} - ), + wrapper: ({ children }) => {children}, }); expect(setSideNotes).toHaveBeenCalledTimes(2); diff --git a/packages/cashier/src/pages/deposit/deposit.tsx b/packages/cashier/src/pages/deposit/deposit.tsx index 3891c56cdcf6..6b44b6350f8e 100644 --- a/packages/cashier/src/pages/deposit/deposit.tsx +++ b/packages/cashier/src/pages/deposit/deposit.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Loading } from '@deriv/components'; -import { useDepositLocked } from '@deriv/hooks'; +import { useCashierLocked, useDepositLocked, useIsSystemMaintenance } from '@deriv/hooks'; import { useStore, observer } from '@deriv/stores'; import { Real, Virtual } from '../../components/cashier-container'; import { CashierOnboarding, CashierOnboardingSideNote } from '../../components/cashier-onboarding'; @@ -40,15 +40,15 @@ const Deposit = observer(({ setSideNotes }: TDeposit) => { } = transaction_history; const { cashier_route_tab_index: tab_index, - is_cashier_locked, is_cashier_onboarding, is_crypto, is_deposit, is_loading, - is_system_maintenance, setActiveTab, setIsDeposit, } = general_store; + const is_cashier_locked = useCashierLocked(); + const is_system_maintenance = useIsSystemMaintenance(); const is_deposit_locked = useDepositLocked(); const is_fiat_currency_banner_visible_for_MF_clients = diff --git a/packages/cashier/src/pages/on-ramp/__tests__/on-ramp.spec.tsx b/packages/cashier/src/pages/on-ramp/__tests__/on-ramp.spec.tsx index 12acde9d7359..8341aa7d26f0 100644 --- a/packages/cashier/src/pages/on-ramp/__tests__/on-ramp.spec.tsx +++ b/packages/cashier/src/pages/on-ramp/__tests__/on-ramp.spec.tsx @@ -1,26 +1,11 @@ import React from 'react'; import { fireEvent, render, screen } from '@testing-library/react'; import { isMobile, routes } from '@deriv/shared'; -import { useDepositLocked } from '@deriv/hooks'; +import { useCashierLocked, useDepositLocked } from '@deriv/hooks'; import OnRamp from '../on-ramp'; -import { TRootStore } from 'Types'; import type { TOnRampProps } from '../on-ramp'; import CashierProviders from '../../../cashier-providers'; - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); - -jest.mock('@deriv/hooks', () => ({ - ...jest.requireActual('@deriv/hooks'), - useDepositLocked: jest.fn(() => false), -})); +import { mockStore, TStores } from '@deriv/stores'; jest.mock('@deriv/components', () => { return { @@ -45,47 +30,37 @@ jest.mock('Pages/on-ramp/on-ramp-provider-popup', () => { const onRampProviderPopup = () =>
OnRampProviderPopup
; return onRampProviderPopup; }); + +jest.mock('@deriv/hooks', () => ({ + ...jest.requireActual('@deriv/hooks'), + useDepositLocked: jest.fn(() => false), + useCashierLocked: jest.fn(() => false), +})); +const mockUseDepositLocked = useDepositLocked as jest.MockedFunction; +const mockUseCashierLocked = useCashierLocked as jest.MockedFunction; + +const cashier_mock = { + onramp: { + filtered_onramp_providers: [{ name: 'name' }], + is_onramp_modal_open: false, + onMountOnramp: jest.fn(), + onUnmountOnramp: jest.fn(), + resetPopup: jest.fn(), + setIsOnRampModalOpen: jest.fn(), + should_show_dialog: false, + onramp_popup_modal_title: 'Title of the onramp popup modal', + }, + general_store: { + is_cashier_onboarding: false, + is_loading: false, + cashier_route_tab_index: 0, + }, +}; + describe('', () => { - let mockRootStore: DeepPartial, props: TOnRampProps; + let props: TOnRampProps; beforeEach(() => { - mockRootStore = { - client: { - is_switching: false, - account_status: { - status: [], - }, - mt5_login_list: [ - { - account_type: 'demo', - sub_account_type: 'financial_stp', - }, - ], - }, - common: { - routeTo: jest.fn(), - }, - modules: { - cashier: { - onramp: { - filtered_onramp_providers: [{ name: 'name' }], - is_onramp_modal_open: false, - onMountOnramp: jest.fn(), - onUnmountOnramp: jest.fn(), - resetPopup: jest.fn(), - setIsOnRampModalOpen: jest.fn(), - should_show_dialog: false, - onramp_popup_modal_title: 'Title of the onramp popup modal', - }, - general_store: { - is_cashier_onboarding: false, - is_cashier_locked: false, - is_loading: false, - cashier_route_tab_index: 0, - }, - }, - }, - }; props = { setSideNotes: jest.fn(), menu_options: [ @@ -107,48 +82,79 @@ describe('', () => { }, ], }; + mockUseDepositLocked.mockReturnValue(false); + mockUseCashierLocked.mockReturnValue(false); }); - const renderOnRamp = (is_rerender = false) => { + const renderOnRamp = (mocked_store: TStores, is_rerender = false) => { const ui = ( - + ); return is_rerender ? ui : render(ui); }; it('should render component', () => { - if (mockRootStore.modules?.cashier?.general_store) { - mockRootStore.modules.cashier.general_store.is_loading = true; - } - const { rerender } = renderOnRamp() as ReturnType; + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + general_store: { + ...cashier_mock.general_store, + is_loading: true, + }, + }, + }, + }); + const { rerender } = renderOnRamp(mockRootStore) as ReturnType; expect(screen.getByText('Loading')).toBeInTheDocument(); - if (mockRootStore.modules?.cashier?.general_store) { - mockRootStore.modules.cashier.general_store.is_loading = false; - } - if (mockRootStore.client) { - mockRootStore.client.is_switching = true; - } - rerender(renderOnRamp(true) as JSX.Element); + mockRootStore.modules.cashier.general_store.is_loading = false; + mockRootStore.client.is_switching = true; + rerender(renderOnRamp(mockRootStore, true) as JSX.Element); expect(screen.getByText('Loading')).toBeInTheDocument(); }); it('should render component', () => { - if (mockRootStore.modules?.cashier?.general_store) { - mockRootStore.modules.cashier.general_store.is_cashier_locked = true; - } - const { rerender } = renderOnRamp() as ReturnType; + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: cashier_mock }, + }); + mockUseCashierLocked.mockReturnValue(true); + const { rerender } = renderOnRamp(mockRootStore) as ReturnType; expect(screen.getByText('CashierLocked')).toBeInTheDocument(); - - if (mockRootStore.modules?.cashier?.general_store) { - mockRootStore.modules.cashier.general_store.is_cashier_locked = false; - } - if (mockRootStore.modules?.cashier?.deposit) { - mockRootStore.modules.cashier.deposit.is_deposit_locked = useDepositLocked.mockReturnValue(true); - } - rerender(renderOnRamp(true) as JSX.Element); + mockUseDepositLocked.mockReturnValue(true); + rerender(renderOnRamp(mockRootStore, true) as JSX.Element); expect(screen.getByText('CashierLocked')).toBeInTheDocument(); }); it('should render component and "Select payment channel" message', () => { - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: cashier_mock }, + }); + renderOnRamp(mockRootStore); expect(screen.getByText('Select payment channel')).toBeInTheDocument(); expect(screen.getByText('OnRampProviderCard')).toBeInTheDocument(); }); @@ -156,10 +162,27 @@ describe('', () => { const modal_root_el = document.createElement('div'); modal_root_el.setAttribute('id', 'modal_root'); document.body.appendChild(modal_root_el); - if (mockRootStore.modules?.cashier?.onramp) { - mockRootStore.modules.cashier.onramp.is_onramp_modal_open = true; - } - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + onramp: { + ...cashier_mock.onramp, + is_onramp_modal_open: true, + }, + }, + }, + }); + renderOnRamp(mockRootStore); expect(screen.getByText('Title of the onramp popup modal')).toBeInTheDocument(); expect(screen.getByText('OnRampProviderPopup')).toBeInTheDocument(); document.body.removeChild(modal_root_el); @@ -169,28 +192,81 @@ describe('', () => { const modal_root_el = document.createElement('div'); modal_root_el.setAttribute('id', 'modal_root'); document.body.appendChild(modal_root_el); - if (mockRootStore.modules?.cashier?.onramp) { - mockRootStore.modules.cashier.onramp.is_onramp_modal_open = true; - } - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { + cashier: { + ...cashier_mock, + onramp: { + ...cashier_mock.onramp, + is_onramp_modal_open: true, + }, + }, + }, + }); + renderOnRamp(mockRootStore); const close_cross_btn = screen.getByRole('button', { name: '' }); fireEvent.click(close_cross_btn); - expect(mockRootStore.modules?.cashier?.onramp?.setIsOnRampModalOpen).toHaveBeenCalledWith(false); + expect(mockRootStore.modules.cashier.onramp.setIsOnRampModalOpen).toHaveBeenCalledWith(false); document.body.removeChild(modal_root_el); }); it('should trigger "setSideNotes" callback in Desktop mode', () => { - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: cashier_mock }, + }); + renderOnRamp(mockRootStore); expect(props.setSideNotes).toHaveBeenCalledTimes(1); }); it('should show "What is Fiat onramp?" message and render component in Mobile mode', () => { (isMobile as jest.Mock).mockReturnValue(true); - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: cashier_mock }, + }); + renderOnRamp(mockRootStore); expect(screen.getByText('What is Fiat onramp?')).toBeInTheDocument(); expect(screen.getByText('ReadMore')).toBeInTheDocument(); }); it('should have proper menu options in Mobile mode', () => { (isMobile as jest.Mock).mockReturnValue(true); - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: cashier_mock }, + }); + renderOnRamp(mockRootStore); const select = screen.getByTestId('dt_on_ramp_select_native'); const labels = Array.from(select as any).map((option: any) => option.label); expect(labels).toContain('Deposit'); @@ -212,9 +288,21 @@ describe('', () => { path: routes.cashier_onramp, }, ]; - renderOnRamp(); + const mockRootStore = mockStore({ + client: { + account_status: { status: [] }, + mt5_login_list: [ + { + account_type: 'demo', + sub_account_type: 'financial_stp', + }, + ], + }, + modules: { cashier: cashier_mock }, + }); + renderOnRamp(mockRootStore); const select = screen.getByTestId('dt_on_ramp_select_native'); fireEvent.change(select, { target: { value: routes.cashier_deposit } }); - expect(mockRootStore.common?.routeTo).toHaveBeenCalledTimes(1); + expect(mockRootStore.common.routeTo).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/cashier/src/pages/on-ramp/on-ramp.tsx b/packages/cashier/src/pages/on-ramp/on-ramp.tsx index 067c2802fee5..368412878098 100644 --- a/packages/cashier/src/pages/on-ramp/on-ramp.tsx +++ b/packages/cashier/src/pages/on-ramp/on-ramp.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Loading, Modal, SelectNative, ReadMore, Text } from '@deriv/components'; -import { useDepositLocked } from '@deriv/hooks'; +import { useCashierLocked, useDepositLocked } from '@deriv/hooks'; import { routes, isMobile } from '@deriv/shared'; import { Localize, localize } from '@deriv/translations'; import { useStore, observer } from '@deriv/stores'; @@ -69,7 +69,8 @@ const OnRamp = observer(({ menu_options, setSideNotes }: TOnRampProps) => { setIsOnRampModalOpen, should_show_dialog, } = onramp; - const { is_cashier_onboarding, is_cashier_locked, is_loading, cashier_route_tab_index } = general_store; + const { is_cashier_onboarding, is_loading, cashier_route_tab_index } = general_store; + const is_cashier_locked = useCashierLocked(); const { is_switching } = client; const { routeTo } = common; const is_deposit_locked = useDepositLocked(); diff --git a/packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.js b/packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.js deleted file mode 100644 index 0627632fb4a2..000000000000 --- a/packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.js +++ /dev/null @@ -1,141 +0,0 @@ -import React from 'react'; -import { render, screen } from '@testing-library/react'; -import { Router } from 'react-router'; -import { createBrowserHistory } from 'history'; -import PaymentAgentTransfer from '../payment-agent-transfer'; -import CashierProviders from '../../../cashier-providers'; - -jest.mock('@deriv/components', () => { - const original_module = jest.requireActual('@deriv/components'); - - return { - ...original_module, - Loading: jest.fn(() => 'mockedLoading'), - }; -}); - -jest.mock('Components/cashier-locked', () => jest.fn(() => 'mockedCashierLocked')); -jest.mock('Components/error', () => jest.fn(() => 'mockedError')); -jest.mock('Components/no-balance', () => jest.fn(() => 'mockedNoBalance')); -jest.mock('Pages/payment-agent-transfer/payment-agent-transfer-form', () => - jest.fn(() => 'mockedPaymentAgentTransferForm') -); -jest.mock('Pages/payment-agent-transfer/payment-agent-transfer-confirm', () => - jest.fn(() => 'mockedPaymentAgentTransferConfirm') -); -jest.mock('Pages/payment-agent-transfer/payment-agent-transfer-receipt', () => - jest.fn(() => 'mockedPaymentAgentTransferReceipt') -); - -describe('', () => { - let history, mockRootStore; - - beforeAll(() => { - const modal_root_el = document.createElement('div'); - modal_root_el.setAttribute('id', 'modal_root'); - document.body.appendChild(modal_root_el); - }); - - afterAll(() => { - document.body.removeChild(modal_root_el); - }); - - beforeEach(() => { - mockRootStore = { - client: { - balance: '100', - is_virtual: false, - }, - - modules: { - cashier: { - payment_agent_transfer: { - error: {}, - is_transfer_successful: false, - is_try_transfer_successful: false, - onMountPaymentAgentTransfer: jest.fn(), - resetPaymentAgentTransfer: jest.fn(), - }, - general_store: { - is_cashier_locked: false, - is_loading: false, - setActiveTab: jest.fn(), - }, - }, - }, - ui: { - is_dark_mode_on: false, - toggleAccountsDialog: jest.fn(), - }, - }; - - history = createBrowserHistory(); - }); - - const renderPaymentAgentTransfer = () => { - return render( - - - - - - ); - }; - - it('should render the component', () => { - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedPaymentAgentTransferForm')).toBeInTheDocument(); - }); - - it('should show the virtual component if client is using demo account', () => { - mockRootStore.client.is_virtual = true; - renderPaymentAgentTransfer(); - - expect( - screen.getByText(/You need to switch to a real money account to use this feature./i) - ).toBeInTheDocument(); - }); - - it('should show the loading component if in loading state', () => { - mockRootStore.modules.cashier.general_store.is_loading = true; - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedLoading')).toBeInTheDocument(); - }); - - it('should show the cashier locked component if cashier is locked', () => { - mockRootStore.modules.cashier.general_store.is_cashier_locked = true; - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedCashierLocked')).toBeInTheDocument(); - }); - - it('should show a popup if there is an error that needs CTA', () => { - mockRootStore.modules.cashier.payment_agent_transfer.error.is_show_full_page = true; - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedError')).toBeInTheDocument(); - }); - - it('should show the no balance component if account has no balance', () => { - mockRootStore.client.balance = '0'; - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedNoBalance')).toBeInTheDocument(); - }); - - it('should show the confirmation if validations are passed', () => { - mockRootStore.modules.cashier.payment_agent_transfer.is_try_transfer_successful = true; - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedPaymentAgentTransferConfirm')).toBeInTheDocument(); - }); - - it('should show the receipt if transfer is successful', () => { - mockRootStore.modules.cashier.payment_agent_transfer.is_transfer_successful = true; - renderPaymentAgentTransfer(); - - expect(screen.getByText('mockedPaymentAgentTransferReceipt')).toBeInTheDocument(); - }); -}); diff --git a/packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.tsx b/packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.tsx new file mode 100644 index 000000000000..ec665ed265bc --- /dev/null +++ b/packages/cashier/src/pages/payment-agent-transfer/__tests__/payment-agent-transfer.spec.tsx @@ -0,0 +1,217 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Router } from 'react-router'; +import { createBrowserHistory } from 'history'; +import PaymentAgentTransfer from '../payment-agent-transfer'; +import CashierProviders from '../../../cashier-providers'; +import { useCashierLocked } from '@deriv/hooks'; +import { mockStore, TStores } from '@deriv/stores'; + +jest.mock('@deriv/components', () => { + const original_module = jest.requireActual('@deriv/components'); + + return { + ...original_module, + Loading: jest.fn(() => 'mockedLoading'), + }; +}); + +jest.mock('Components/cashier-locked', () => jest.fn(() => 'mockedCashierLocked')); +jest.mock('Components/error', () => jest.fn(() => 'mockedError')); +jest.mock('Components/no-balance', () => jest.fn(() => 'mockedNoBalance')); +jest.mock('Pages/payment-agent-transfer/payment-agent-transfer-form', () => + jest.fn(() => 'mockedPaymentAgentTransferForm') +); +jest.mock('Pages/payment-agent-transfer/payment-agent-transfer-confirm', () => + jest.fn(() => 'mockedPaymentAgentTransferConfirm') +); +jest.mock('Pages/payment-agent-transfer/payment-agent-transfer-receipt', () => + jest.fn(() => 'mockedPaymentAgentTransferReceipt') +); + +jest.mock('@deriv/hooks', () => ({ + ...jest.requireActual('@deriv/hooks'), + useCashierLocked: jest.fn(() => false), +})); +const mockUseCashierLocked = useCashierLocked as jest.MockedFunction; + +const cashier_mock = { + payment_agent_transfer: { + error: {}, + is_transfer_successful: false, + is_try_transfer_successful: false, + onMountPaymentAgentTransfer: jest.fn(), + resetPaymentAgentTransfer: jest.fn(), + }, + general_store: { + is_loading: false, + setActiveTab: jest.fn(), + }, +}; + +describe('', () => { + let modal_root_el: HTMLDivElement; + + beforeAll(() => { + modal_root_el = document.createElement('div'); + modal_root_el.setAttribute('id', 'modal_root'); + document.body.appendChild(modal_root_el); + }); + + afterAll(() => { + document.body.removeChild(modal_root_el); + }); + + beforeEach(() => { + mockUseCashierLocked.mockReturnValue(false); + }); + + const renderPaymentAgentTransfer = (mock_root_store: TStores) => { + return render( + + + + + + ); + }; + + it('should render the component', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: false, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedPaymentAgentTransferForm')).toBeInTheDocument(); + }); + + it('should show the virtual component if client is using demo account', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: true, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect( + screen.getByText(/You need to switch to a real money account to use this feature./i) + ).toBeInTheDocument(); + }); + + it('should show the loading component if in loading state', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: false, + }, + modules: { + cashier: { + ...cashier_mock, + general_store: { + is_loading: true, + setActiveTab: jest.fn(), + }, + }, + }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedLoading')).toBeInTheDocument(); + }); + + it('should show the cashier locked component if cashier is locked', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: false, + }, + modules: { cashier: cashier_mock }, + }); + mockUseCashierLocked.mockReturnValue(true); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedCashierLocked')).toBeInTheDocument(); + }); + + it('should show a popup if there is an error that needs CTA', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: false, + }, + modules: { + cashier: { + ...cashier_mock, + payment_agent_transfer: { + ...cashier_mock.payment_agent_transfer, + error: { is_show_full_page: true }, + }, + }, + }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedError')).toBeInTheDocument(); + }); + + it('should show the no balance component if account has no balance', () => { + const mock_root_store = mockStore({ + client: { + balance: '0', + is_virtual: false, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedNoBalance')).toBeInTheDocument(); + }); + + it('should show the confirmation if validations are passed', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: false, + }, + modules: { + cashier: { + ...cashier_mock, + payment_agent_transfer: { + ...cashier_mock.payment_agent_transfer, + is_try_transfer_successful: true, + }, + }, + }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedPaymentAgentTransferConfirm')).toBeInTheDocument(); + }); + + it('should show the receipt if transfer is successful', () => { + const mock_root_store = mockStore({ + client: { + balance: '100', + is_virtual: false, + }, + modules: { + cashier: { + ...cashier_mock, + payment_agent_transfer: { + ...cashier_mock.payment_agent_transfer, + is_transfer_successful: true, + }, + }, + }, + }); + renderPaymentAgentTransfer(mock_root_store); + + expect(screen.getByText('mockedPaymentAgentTransferReceipt')).toBeInTheDocument(); + }); +}); diff --git a/packages/cashier/src/pages/payment-agent-transfer/payment-agent-transfer.jsx b/packages/cashier/src/pages/payment-agent-transfer/payment-agent-transfer.jsx index 0fa5d7ce6adf..41728c1b1cd6 100644 --- a/packages/cashier/src/pages/payment-agent-transfer/payment-agent-transfer.jsx +++ b/packages/cashier/src/pages/payment-agent-transfer/payment-agent-transfer.jsx @@ -9,12 +9,14 @@ import PaymentAgentTransferConfirm from './payment-agent-transfer-confirm'; import PaymentAgentTransferForm from './payment-agent-transfer-form'; import PaymentAgentTransferReceipt from './payment-agent-transfer-receipt'; import { useCashierStore } from '../../stores/useCashierStores'; +import { useCashierLocked } from '@deriv/hooks'; const PaymentAgentTransfer = observer(() => { const { client } = useStore(); const { balance, is_virtual } = client; const { general_store, payment_agent_transfer } = useCashierStore(); - const { is_cashier_locked, is_loading, setActiveTab } = general_store; + const { is_loading, setActiveTab } = general_store; + const is_cashier_locked = useCashierLocked(); const { container, error, diff --git a/packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.js b/packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.js deleted file mode 100644 index 1f6c53f41280..000000000000 --- a/packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.js +++ /dev/null @@ -1,106 +0,0 @@ -import React from 'react'; -import { render, screen } from '@testing-library/react'; -import { Router } from 'react-router'; -import { createBrowserHistory } from 'history'; -import PaymentAgent from '../payment-agent'; -import CashierProviders from '../../../cashier-providers'; - -jest.mock('@deriv/components', () => { - const original_module = jest.requireActual('@deriv/components'); - - return { - ...original_module, - Loading: jest.fn(() => 'mockedLoading'), - }; -}); - -jest.mock('Pages/payment-agent/payment-agent-list', () => jest.fn(() => 'mockedPaymentAgentList')); -jest.mock('Components/cashier-locked', () => jest.fn(() => 'mockedCashierLocked')); - -describe('', () => { - let mockRootStore; - - beforeEach(() => { - mockRootStore = { - ui: { - is_dark_mode_on: false, - toggleAccountsDialog: jest.fn(), - }, - client: { - is_switching: false, - is_virtual: false, - verification_code: { - payment_agent_withdraw: '', - }, - }, - modules: { - cashier: { - general_store: { - is_cashier_locked: false, - setActiveTab: jest.fn(), - }, - payment_agent: { - container: 'payment_agent', - is_withdraw: false, - active_tab_index: 0, - setActiveTabIndex: jest.fn(), - }, - }, - }, - }; - }); - - const renderPaymentAgent = () => { - return render( - - - - - - ); - }; - - it('should render the payment agent list', () => { - renderPaymentAgent(); - - expect(mockRootStore.modules.cashier.payment_agent.setActiveTabIndex).toHaveBeenCalledWith(0); - expect(screen.getByText('mockedPaymentAgentList')).toBeInTheDocument(); - }); - - it('should render the loading component if in loading state', () => { - mockRootStore.client.is_switching = true; - renderPaymentAgent(); - - expect(screen.getByText('mockedLoading')).toBeInTheDocument(); - }); - - it('should show the virtual component if the client is using demo account', () => { - mockRootStore.client.is_virtual = true; - renderPaymentAgent(); - - expect( - screen.getByText(/You need to switch to a real money account to use this feature./i) - ).toBeInTheDocument(); - }); - - it('should show the cashier locked component if cashier is locked', () => { - mockRootStore.modules.cashier.general_store.is_cashier_locked = true; - renderPaymentAgent(); - - expect(screen.getByText('mockedCashierLocked')).toBeInTheDocument(); - }); - - it('should reset the index on unmount of component', () => { - const { unmount } = renderPaymentAgent(); - - unmount(); - expect(mockRootStore.modules.cashier.payment_agent.setActiveTabIndex).toHaveBeenCalledWith(0); - }); - - it('should set the active tab index accordingly', () => { - mockRootStore.client.verification_code.payment_agent_withdraw = 'ABCdef'; - renderPaymentAgent(); - - expect(mockRootStore.modules.cashier.payment_agent.setActiveTabIndex).toHaveBeenCalledWith(1); - }); -}); diff --git a/packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.tsx b/packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.tsx new file mode 100644 index 000000000000..70717646cfa5 --- /dev/null +++ b/packages/cashier/src/pages/payment-agent/__tests__/payment-agent.spec.tsx @@ -0,0 +1,129 @@ +import React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Router } from 'react-router'; +import { createBrowserHistory } from 'history'; +import PaymentAgent from '../payment-agent'; +import CashierProviders from '../../../cashier-providers'; +import { useCashierLocked } from '@deriv/hooks'; +import { mockStore, TStores } from '@deriv/stores'; + +jest.mock('@deriv/components', () => { + const original_module = jest.requireActual('@deriv/components'); + + return { + ...original_module, + Loading: jest.fn(() => 'mockedLoading'), + }; +}); + +jest.mock('Pages/payment-agent/payment-agent-list', () => jest.fn(() => 'mockedPaymentAgentList')); +jest.mock('Components/cashier-locked', () => jest.fn(() => 'mockedCashierLocked')); + +jest.mock('@deriv/hooks', () => ({ + ...jest.requireActual('@deriv/hooks'), + useCashierLocked: jest.fn(() => false), +})); +const mockUseCashierLocked = useCashierLocked as jest.MockedFunction; + +const cashier_mock = { + general_store: { + setActiveTab: jest.fn(), + }, + payment_agent: { + container: 'payment_agent', + is_withdraw: false, + active_tab_index: 0, + setActiveTabIndex: jest.fn(), + }, +}; + +describe('', () => { + const renderPaymentAgent = (mock_root_store: TStores) => { + return render( + + + + + + ); + }; + + it('should render the payment agent list', () => { + const mock_root_store = mockStore({ + client: { + is_virtual: false, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgent(mock_root_store); + + expect(mock_root_store.modules.cashier.payment_agent.setActiveTabIndex).toHaveBeenCalledWith(0); + expect(screen.getByText('mockedPaymentAgentList')).toBeInTheDocument(); + }); + + it('should render the loading component if in loading state', () => { + const mock_root_store = mockStore({ + client: { + is_virtual: false, + is_switching: true, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgent(mock_root_store); + + expect(screen.getByText('mockedLoading')).toBeInTheDocument(); + }); + + it('should show the virtual component if the client is using demo account', () => { + const mock_root_store = mockStore({ + client: { + is_virtual: true, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgent(mock_root_store); + + expect( + screen.getByText(/You need to switch to a real money account to use this feature./i) + ).toBeInTheDocument(); + }); + + it('should show the cashier locked component if cashier is locked', () => { + const mock_root_store = mockStore({ + client: { + is_virtual: false, + }, + modules: { cashier: cashier_mock }, + }); + mockUseCashierLocked.mockReturnValue(true); + renderPaymentAgent(mock_root_store); + + expect(screen.getByText('mockedCashierLocked')).toBeInTheDocument(); + }); + + it('should reset the index on unmount of component', () => { + const mock_root_store = mockStore({ + client: { + is_virtual: false, + }, + modules: { cashier: cashier_mock }, + }); + const { unmount } = renderPaymentAgent(mock_root_store); + + unmount(); + expect(mock_root_store.modules.cashier.payment_agent.setActiveTabIndex).toHaveBeenCalledWith(0); + }); + + it('should set the active tab index accordingly', () => { + const mock_root_store = mockStore({ + client: { + is_virtual: false, + verification_code: { payment_agent_withdraw: 'ABCdef' }, + }, + modules: { cashier: cashier_mock }, + }); + renderPaymentAgent(mock_root_store); + + expect(mock_root_store.modules.cashier.payment_agent.setActiveTabIndex).toHaveBeenCalledWith(1); + }); +}); diff --git a/packages/cashier/src/pages/payment-agent/payment-agent.jsx b/packages/cashier/src/pages/payment-agent/payment-agent.jsx index 5017fdf95144..7fcdcbfba619 100644 --- a/packages/cashier/src/pages/payment-agent/payment-agent.jsx +++ b/packages/cashier/src/pages/payment-agent/payment-agent.jsx @@ -6,6 +6,7 @@ import CashierLocked from 'Components/cashier-locked'; import { Virtual } from 'Components/cashier-container'; import PaymentAgentList from './payment-agent-list'; import { useCashierStore } from '../../stores/useCashierStores'; +import { useCashierLocked } from '@deriv/hooks'; const PaymentAgent = observer(({ setSideNotes }) => { const { client } = useStore(); @@ -15,7 +16,8 @@ const PaymentAgent = observer(({ setSideNotes }) => { verification_code: { payment_agent_withdraw: verification_code }, } = client; const { general_store, payment_agent } = useCashierStore(); - const { is_cashier_locked, setActiveTab } = general_store; + const { setActiveTab } = general_store; + const is_cashier_locked = useCashierLocked(); const { container, is_withdraw: is_payment_agent_withdraw, diff --git a/packages/cashier/src/pages/withdrawal/__tests__/withdrawal.spec.tsx b/packages/cashier/src/pages/withdrawal/__tests__/withdrawal.spec.tsx index 0ec38bdf734e..86a594f55edd 100644 --- a/packages/cashier/src/pages/withdrawal/__tests__/withdrawal.spec.tsx +++ b/packages/cashier/src/pages/withdrawal/__tests__/withdrawal.spec.tsx @@ -3,9 +3,10 @@ import { render, screen } from '@testing-library/react'; import { Router } from 'react-router'; import { createBrowserHistory } from 'history'; import { isDesktop } from '@deriv/shared'; -import { mockStore } from '@deriv/stores'; import Withdrawal from '../withdrawal'; import CashierProviders from '../../../cashier-providers'; +import { mockStore, TStores } from '@deriv/stores'; +import { useCashierLocked } from '@deriv/hooks'; jest.mock('Components/cashier-locked', () => jest.fn(() => 'CashierLocked')); jest.mock('Components/cashier-container/virtual', () => jest.fn(() => 'Virtual')); @@ -26,54 +27,51 @@ jest.mock('@deriv/shared/src/utils/screen/responsive', () => ({ ...jest.requireActual('@deriv/shared/src/utils/screen/responsive'), isDesktop: jest.fn(() => true), })); +jest.mock('@deriv/hooks', () => ({ + ...jest.requireActual('@deriv/hooks'), + useCashierLocked: jest.fn(() => false), +})); +const mockUseCashierLocked = useCashierLocked as jest.MockedFunction; + +const cashier_mock = { + general_store: { + is_crypto: false, + setActiveTab: jest.fn(), + }, + iframe: { + iframe_url: '', + }, + transaction_history: { + is_crypto_transactions_visible: false, + onMount: jest.fn(), + }, + withdraw: { + check10kLimit: jest.fn(), + is_10k_withdrawal_limit_reached: false, + is_withdraw_confirmed: false, + is_withdrawal_locked: false, + error: { + setErrorMessage: jest.fn(), + }, + verification: { + error: {}, + }, + willMountWithdraw: jest.fn(), + }, +}; describe('', () => { - let history, mockRootStore, setSideNotes; + let setSideNotes: VoidFunction; + beforeEach(() => { - history = createBrowserHistory(); - mockRootStore = mockStore({ - client: { - balance: '1000', - currency: 'USD', - }, - modules: { - cashier: { - general_store: { - is_cashier_locked: false, - is_crypto: false, - is_system_maintenance: false, - setActiveTab: jest.fn(), - }, - iframe: { - iframe_url: '', - }, - transaction_history: { - is_crypto_transactions_visible: false, - onMount: jest.fn(), - }, - withdraw: { - check10kLimit: jest.fn(), - is_10k_withdrawal_limit_reached: false, - is_withdraw_confirmed: false, - is_withdrawal_locked: false, - error: { - setErrorMessage: jest.fn(), - }, - verification: { - error: {}, - }, - willMountWithdraw: jest.fn(), - }, - }, - }, - }); setSideNotes = jest.fn(); + mockUseCashierLocked.mockReturnValue(false); }); - const renderWithdrawal = (is_rerender = false) => { + const renderWithdrawal = (mock_root_store: TStores, is_rerender = false) => { const ui = ( - - + + @@ -82,122 +80,283 @@ describe('', () => { }; it('should render component', () => { - mockRootStore.client.current_currency_type = 'crypto'; - mockRootStore.modules.cashier.general_store.is_system_maintenance = true; - mockRootStore.modules.cashier.withdraw.is_withdrawal_locked = true; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + account_status: { cashier_validation: ['system_maintenance'] }, + balance: '1000', + currency: 'USD', + current_currency_type: 'crypto', + }, + modules: { + cashier: { + ...cashier_mock, + withdraw: { + ...cashier_mock.withdraw, + is_withdrawal_locked: true, + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('CashierLocked')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.modules.cashier.withdraw.is_10k_withdrawal_limit_reached = undefined; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { + cashier: { + ...cashier_mock, + withdraw: { + ...cashier_mock.withdraw, + is_10k_withdrawal_limit_reached: undefined, + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('Loading')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.client.is_virtual = true; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + is_virtual: true, + }, + modules: { cashier: cashier_mock }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('Virtual')).toBeInTheDocument(); }); - it('should render component when "is_cashier_locked = true"', () => { - mockRootStore.modules.cashier.general_store.is_cashier_locked = true; - renderWithdrawal(); + it('should render component when useCashierLocked returns true', () => { + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { cashier: cashier_mock }, + }); + mockUseCashierLocked.mockReturnValue(true); + renderWithdrawal(mock_root_store); expect(screen.getByText('CashierLocked')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.modules.cashier.withdraw.is_withdrawal_locked = true; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { + cashier: { + ...cashier_mock, + withdraw: { + ...cashier_mock.withdraw, + is_withdrawal_locked: true, + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('WithdrawalLocked')).toBeInTheDocument(); - mockRootStore.modules.cashier.withdraw.is_10k_withdrawal_limit_reached = true; - renderWithdrawal(true); + mock_root_store.modules.cashier.withdraw.is_10k_withdrawal_limit_reached = true; + renderWithdrawal(mock_root_store, true); expect(screen.getByText('WithdrawalLocked')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.client.balance = '0'; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '0', + currency: 'USD', + }, + modules: { cashier: cashier_mock }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('NoBalance')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.modules.cashier.withdraw.error = { - is_show_full_page: true, - message: 'Error message', - setErrorMessage: jest.fn(), - }; - const { rerender } = renderWithdrawal() as ReturnType; + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { + cashier: { + ...cashier_mock, + withdraw: { + ...cashier_mock.withdraw, + error: { + is_show_full_page: true, + message: 'Error message', + setErrorMessage: jest.fn(), + }, + }, + }, + }, + }); + const { rerender } = renderWithdrawal(mock_root_store) as ReturnType; expect(screen.getByText('Error')).toBeInTheDocument(); - mockRootStore.modules.cashier.withdraw.verification.error = { message: 'Error message' }; - rerender(renderWithdrawal(true) as JSX.Element); + mock_root_store.modules.cashier.withdraw.verification.error = { message: 'Error message' }; + rerender(renderWithdrawal(mock_root_store, true) as JSX.Element); expect(screen.getByText('Error')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.client.verification_code.payment_withdraw = 'verification_code'; - - const { rerender } = renderWithdrawal() as ReturnType; + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + verification_code: { payment_withdraw: 'verification_code' }, + }, + modules: { cashier: cashier_mock }, + }); + const { rerender } = renderWithdrawal(mock_root_store) as ReturnType; expect(screen.getByText('Withdraw')).toBeInTheDocument(); - mockRootStore.modules.cashier.iframe.iframe_url = 'coiframe_urlde'; - rerender(renderWithdrawal(true) as JSX.Element); + mock_root_store.modules.cashier.iframe.iframe_url = 'coiframe_urlde'; + rerender(renderWithdrawal(mock_root_store, true) as JSX.Element); expect(screen.getByText('Withdraw')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.client.verification_code.payment_withdraw = 'verification_code'; - mockRootStore.modules.cashier.general_store.is_crypto = true; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + verification_code: { payment_withdraw: 'verification_code' }, + }, + modules: { + cashier: { + ...cashier_mock, + general_store: { + is_crypto: true, + setActiveTab: jest.fn(), + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('CryptoWithdrawForm')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.modules.cashier.withdraw.is_withdraw_confirmed = true; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { + cashier: { + ...cashier_mock, + withdraw: { + ...cashier_mock.withdraw, + is_withdraw_confirmed: true, + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('CryptoWithdrawReceipt')).toBeInTheDocument(); }); it('should render component', () => { - mockRootStore.modules.cashier.transaction_history.is_crypto_transactions_visible = true; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { + cashier: { + ...cashier_mock, + transaction_history: { + is_crypto_transactions_visible: true, + onMount: jest.fn(), + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('CryptoTransactionsHistory')).toBeInTheDocument(); }); it('should render component', () => { - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'USD', + }, + modules: { cashier: cashier_mock }, + }); + renderWithdrawal(mock_root_store); expect(screen.getByText('WithdrawalVerificationEmail')).toBeInTheDocument(); }); it('should not trigger "setSideNotes" callback if "isDesktop = false"', () => { - isDesktop.mockReturnValueOnce(false); + const mock_root_store = mockStore({ + client: { + account_status: { cashier_validation: ['system_maintenance'] }, + balance: '1000', + currency: 'USD', + current_currency_type: 'crypto', + }, + modules: { + cashier: { + ...cashier_mock, + withdraw: { + ...cashier_mock.withdraw, + is_withdrawal_locked: true, + }, + }, + }, + }); + (isDesktop as jest.Mock).mockReturnValueOnce(false); - renderWithdrawal(); + renderWithdrawal(mock_root_store); expect(setSideNotes).not.toHaveBeenCalled(); }); it('should trigger "setSideNotes" callback in Desktop mode', () => { - mockRootStore.client.currency = 'BTC'; - mockRootStore.modules.cashier.transaction_history.crypto_transactions = [{}]; - renderWithdrawal(); + const mock_root_store = mockStore({ + client: { + balance: '1000', + currency: 'BTC', + }, + modules: { + cashier: { + ...cashier_mock, + transaction_history: { + ...cashier_mock.transaction_history, + crypto_transactions: [{}], + }, + }, + }, + }); + renderWithdrawal(mock_root_store); expect(setSideNotes).toHaveBeenCalledTimes(1); }); diff --git a/packages/cashier/src/pages/withdrawal/withdrawal.tsx b/packages/cashier/src/pages/withdrawal/withdrawal.tsx index 0268ec5e085c..98b9585801d9 100644 --- a/packages/cashier/src/pages/withdrawal/withdrawal.tsx +++ b/packages/cashier/src/pages/withdrawal/withdrawal.tsx @@ -17,6 +17,7 @@ import SideNote from '../../components/side-note'; import USDTSideNote from '../../components/usdt-side-note'; import { Virtual } from '../../components/cashier-container'; import { useCashierStore } from '../../stores/useCashierStores'; +import { useCashierLocked, useIsSystemMaintenance } from '@deriv/hooks'; type TWithdrawalSideNoteProps = { currency: string; @@ -59,13 +60,9 @@ const Withdrawal = observer(({ setSideNotes }: TWithdrawalProps) => { verification_code: { payment_withdraw: verification_code }, } = client; const { iframe, general_store, transaction_history, withdraw } = useCashierStore(); - const { - is_cashier_locked, - is_crypto, - is_system_maintenance, - setActiveTab, - cashier_route_tab_index: tab_index, - } = general_store; + const { is_crypto, setActiveTab, cashier_route_tab_index: tab_index } = general_store; + const is_cashier_locked = useCashierLocked(); + const is_system_maintenance = useIsSystemMaintenance(); const { iframe_url } = iframe; const { crypto_transactions, diff --git a/packages/cashier/src/stores/__tests__/general-store.spec.ts b/packages/cashier/src/stores/__tests__/general-store.spec.ts index fba0717eceef..f8e8ef237e42 100644 --- a/packages/cashier/src/stores/__tests__/general-store.spec.ts +++ b/packages/cashier/src/stores/__tests__/general-store.spec.ts @@ -208,19 +208,19 @@ describe('GeneralStore', () => { expect(general_store.percentage).toBe(0); }); - it('should cahange value of the variable is_deposit', () => { + it('should change value of the variable is_deposit', () => { general_store.setIsDeposit(true); expect(general_store.is_deposit).toBeTruthy(); }); - it('should cahange value of the variable should_show_all_available_currencies', () => { + it('should change value of the variable should_show_all_available_currencies', () => { general_store.setShouldShowAllAvailableCurrencies(true); expect(general_store.should_show_all_available_currencies).toBeTruthy(); }); - it('should cahange value of the variable is_cashier_onboarding', () => { + it('should change value of the variable is_cashier_onboarding', () => { general_store.setIsCashierOnboarding(true); expect(general_store.is_cashier_onboarding).toBeTruthy(); @@ -381,44 +381,6 @@ describe('GeneralStore', () => { expect(general_store.root_store.common.routeTo).toHaveBeenCalledWith(routes.cashier_deposit); }); - it('should return is_cashier_locked equal to false if account_status is undefined', () => { - general_store.root_store.client.account_status = { - currency_config: {}, - prompt_client_to_authenticate: 0, - risk_classification: '', - status: [], - }; - expect(general_store.is_cashier_locked).toBeFalsy(); - }); - - it('should return is_cashier_locked equal to false if there is no cashier_locked status', () => { - expect(general_store.is_cashier_locked).toBeFalsy(); - }); - - it('should return is_cashier_locked equal to true if there is cashier_locked status', () => { - general_store.root_store.client.account_status.status.push('cashier_locked'); - expect(general_store.is_cashier_locked).toBeTruthy(); - }); - - it('should return is_system_maintenance equal to false if account_status is undefined', () => { - general_store.root_store.client.account_status = { - currency_config: {}, - prompt_client_to_authenticate: 0, - risk_classification: '', - status: [], - }; - expect(general_store.is_system_maintenance).toBeFalsy(); - }); - - it('should return is_system_maintenance equal to false if there is no system_maintenance status', () => { - expect(general_store.is_system_maintenance).toBeFalsy(); - }); - - it('should return is_system_maintenance equal to true if there is system_maintenance status', () => { - general_store.root_store.client.account_status.cashier_validation?.push('system_maintenance'); - expect(general_store.is_system_maintenance).toBeTruthy(); - }); - it('should change the value of the variable is_loading', () => { general_store.setLoading(true); expect(general_store.is_loading).toBeTruthy(); diff --git a/packages/cashier/src/stores/general-store.ts b/packages/cashier/src/stores/general-store.ts index 609c28498632..c7ee9e6f82c9 100644 --- a/packages/cashier/src/stores/general-store.ts +++ b/packages/cashier/src/stores/general-store.ts @@ -18,14 +18,12 @@ export default class GeneralStore extends BaseStore { deposit_target: observable, has_set_currency: observable, init: action.bound, - is_cashier_locked: computed, is_cashier_onboarding: observable, is_crypto: computed, is_deposit: observable, is_loading: observable, is_p2p_enabled: computed, is_p2p_visible: observable, - is_system_maintenance: computed, onMountCashierOnboarding: action.bound, onMountCommon: action.bound, onRemount: observable, @@ -316,20 +314,6 @@ export default class GeneralStore extends BaseStore { p2p_cookie.set('is_p2p_disabled', !is_p2p_visible); } - get is_cashier_locked(): boolean { - const { account_status } = this.root_store.client; - - if (!account_status?.status) return false; - return account_status.status.some(status_name => status_name === 'cashier_locked'); - } - - get is_system_maintenance(): boolean { - const { account_status } = this.root_store.client; - - if (!account_status?.cashier_validation) return false; - return account_status.cashier_validation.some(validation => validation === 'system_maintenance'); - } - setLoading(is_loading: boolean): void { this.is_loading = is_loading; } diff --git a/packages/hooks/src/__tests__/useCashierLocked.spec.tsx b/packages/hooks/src/__tests__/useCashierLocked.spec.tsx new file mode 100644 index 000000000000..436d8e4559c7 --- /dev/null +++ b/packages/hooks/src/__tests__/useCashierLocked.spec.tsx @@ -0,0 +1,36 @@ +import React from 'react'; +import { mockStore, StoreProvider } from '@deriv/stores'; +import { renderHook } from '@testing-library/react-hooks'; +import useCashierLocked from '../useCashierLocked'; + +describe('useCashierLocked', () => { + test('should be false if there is no cashier_locked status', () => { + const mock = mockStore({}); + + const wrapper = ({ children }: { children: JSX.Element }) => ( + {children} + ); + + const { result } = renderHook(() => useCashierLocked(), { wrapper }); + + expect(result.current).toBe(false); + }); + + test('should be true if there is cashier_locked status', () => { + const mock = mockStore({ + client: { + account_status: { + status: ['cashier_locked'], + }, + }, + }); + + const wrapper = ({ children }: { children: JSX.Element }) => ( + {children} + ); + + const { result } = renderHook(() => useCashierLocked(), { wrapper }); + + expect(result.current).toBe(true); + }); +}); diff --git a/packages/hooks/src/__tests__/useIsSystemMaintenance.spec.tsx b/packages/hooks/src/__tests__/useIsSystemMaintenance.spec.tsx new file mode 100644 index 000000000000..c9a0bca81cf8 --- /dev/null +++ b/packages/hooks/src/__tests__/useIsSystemMaintenance.spec.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import { StoreProvider, mockStore } from '@deriv/stores'; +import { renderHook } from '@testing-library/react-hooks'; +import useIsSystemMaintenance from '../useIsSystemMaintenance'; + +describe('useIsSystemMaintenance', () => { + test('should be false if there is no system_maintenance status', () => { + const mock = mockStore({ + client: { + account_status: { + cashier_validation: [], + }, + }, + }); + const wrapper = ({ children }: { children: JSX.Element }) => ( + {children} + ); + const { result } = renderHook(() => useIsSystemMaintenance(), { wrapper }); + + expect(result.current).toBe(false); + }); + + test('should be true if account_status is undefined', () => { + const mock = mockStore({ + client: { + account_status: undefined, + }, + }); + const wrapper = ({ children }: { children: JSX.Element }) => ( + {children} + ); + const { result } = renderHook(() => useIsSystemMaintenance(), { wrapper }); + + expect(result.current).toBe(false); + }); + + test('should be true if there is system_maintenance status', () => { + const mock = mockStore({ + client: { + account_status: { + cashier_validation: ['system_maintenance'], + }, + }, + }); + const wrapper = ({ children }: { children: JSX.Element }) => ( + {children} + ); + const { result } = renderHook(() => useIsSystemMaintenance(), { wrapper }); + + expect(result.current).toBe(true); + }); +}); diff --git a/packages/hooks/src/index.ts b/packages/hooks/src/index.ts index 17ab10880ba8..14a0db18c56a 100644 --- a/packages/hooks/src/index.ts +++ b/packages/hooks/src/index.ts @@ -11,6 +11,8 @@ export { default as useHasSetCurrency } from './useHasSetCurrency'; export { default as useHasActiveRealAccount } from './useHasActiveRealAccount'; export { default as useP2PNotificationCount } from './useP2PNotificationCount'; export { default as useOnrampVisible } from './useOnrampVisible'; +export { default as useIsSystemMaintenance } from './useIsSystemMaintenance'; +export { default as useCashierLocked } from './useCashierLocked'; export { default as useIsRealAccountNeededForCashier } from './useIsRealAccountNeededForCashier'; export { default as useHasSvgAccount } from './useHasSvgAccount'; export { default as useTotalAccountBalance } from './useTotalAccountBalance'; diff --git a/packages/hooks/src/useCashierLocked.ts b/packages/hooks/src/useCashierLocked.ts new file mode 100644 index 000000000000..49ae2d35abf3 --- /dev/null +++ b/packages/hooks/src/useCashierLocked.ts @@ -0,0 +1,12 @@ +import { useStore } from '@deriv/stores'; + +const useCashierLocked = () => { + const { client } = useStore(); + const { account_status } = client; + + const is_cashier_locked = account_status.status?.some(status => status === 'cashier_locked') || false; + + return is_cashier_locked; +}; + +export default useCashierLocked; diff --git a/packages/hooks/src/useIsSystemMaintenance.ts b/packages/hooks/src/useIsSystemMaintenance.ts new file mode 100644 index 000000000000..fb6fd4010b65 --- /dev/null +++ b/packages/hooks/src/useIsSystemMaintenance.ts @@ -0,0 +1,13 @@ +import { useStore } from '@deriv/stores'; + +const useIsSystemMaintenance = () => { + const { client } = useStore(); + const { account_status } = client; + + const is_system_maintenance = + account_status.cashier_validation?.some(validation => validation === 'system_maintenance') || false; + + return is_system_maintenance; +}; + +export default useIsSystemMaintenance; diff --git a/packages/stores/types.ts b/packages/stores/types.ts index af3759bd6509..5d4f62459327 100644 --- a/packages/stores/types.ts +++ b/packages/stores/types.ts @@ -87,6 +87,8 @@ type TNotification = | ((withdrawal_locked: boolean, deposit_locked: boolean) => TNotificationMessage) | ((excluded_until: number) => TNotificationMessage); +type TAccountStatus = Omit & Partial>; + type TClientStore = { accounts: { [k: string]: TAccount }; active_accounts: TActiveAccount[]; @@ -100,7 +102,7 @@ type TClientStore = { }; }; account_list: TAccountsList; - account_status: GetAccountStatus; + account_status: TAccountStatus; available_crypto_currencies: string[]; balance?: string | number; can_change_fiat_currency: boolean; From 3f67f280c78ee3b7d299dc38d30599f7dfe844c8 Mon Sep 17 00:00:00 2001 From: hirad-deriv Date: Fri, 28 Apr 2023 10:29:58 +0800 Subject: [PATCH 14/16] Hirad - Shon Tzu/Feature: Branding/87860 (#7583) * fix: initializing * fix: added the necessary icons * fix: rebranding of traders-hub and onboarding * fix: changed deriv logo in header * fix: made changes according to recommendations * fix: changed cfds and modals icons * fix: added new icons for menu * fix: fixing the prop types error * Revert "fix: transfer_to_cashier_error (#7547)" This reverts commit 50f384b10a43d6ca4eecbdbdb0b559fe5e5867df. * fix: cleaner rebranding attempt * fix: trader hub header logo * fix: dark mode in traders hub * fix: made logo size in headers consistent * fix: revert link_to back to href in platform-config that broke the navigation * fix: remove unnecesary code in platform-config * fix: one line * fix: changed icon naming for dark and light mode and added PropTypes to components * refactor: update the color using var keyword in the svg file to automatically support both colors * fix: invisible icon text, use currentColor instead of var in svg * revert: reverted last 2 commits that cause icon issues * fix: testing the branch * fix: removed the redundant smart trader * fix: replacing the redundant icons * fix: fixed all of the issues with rebranding icons * fix: removed the duplicate icons * fix: removed dark mode icons and used one icon for both light and dark mode * fix: fixed the circle ci issues * fix: change D initials to Deriv and swap colors for real and demo in traderhub dropdown * refactor: change the wallet balance color based on account type(demo/real) * refactor: removed unused code * fix: made changes based on reviews * refactor: removed unnecesary !important property * fix: made changes according to the recommendations * refactor: fixed dark mode handling for icons * fix: removed all of the redundant icons * fix: removed the redundant test case * fix: made changes to dxtrade icon * revert: reverted the test case for dark mode that was deleted * fix: changed the color of cross icon in the onboarding page * fix: pulled from main branch and rebuilt project * fix: remove unused is_dark_mode props * fix: remove mock connect store and props from test cases * fix: fixed the code smell related to the cashier provider store * fix: removed deriv-apps redundant icon * fix: added description tags in icons for screenreader * refactor: refactor based on review * refactor: added comments on the purpose of the tag * fix: forgot to change prop name * fix: minified one icon * fix: remove unnecesary curly braces * Round-up patches based on review refactor: added comments on the purpose of the tag fix: forgot to change prop name fix: minified one icon fix: remove unnecesary curly braces * fix: fix wrong colors in demo and real * fix: fixed the alignment issue if deriv logo in traders-hub dashboard * fix: update deriv icon in footer * fix: update DerivX icon * fix: added new icons to transfer page of cashier * fix: udpate test cases * fix: remove redundatnt test case * fix: change account_type to all in test case * fix: increased the floatPrecision of svg-loader * fix: changed the icon of cashier transfer page for derivx * fix: fix unit test in cfd-download-container * feat: new branding for email and passwords page * fix: update favicon * fix: updated favicons in core * fix: updated favicons in trader and cfd packages * fix: remove -copy suffix from icon names * revert: revert to old DerivX icon for non-tradershub pages * fix: fixed the white line issue of icons by adding the new ones * revert: undo favicon changes in cfd and trader packages * fix: fixed the icon size of deriv logo in trader's hub * fix: alignment of deriv logo in onboarding page * remove comment * style: use rem instead of % * fix: update derivx logo in cashier page and trade modal * fix: derivx icon in trade terminal * fix: localize icon description * fix: deriv logo alignment in onboarding page * fix: fixed aliasing in smarttrader and binarybot icons * fix: aliased icons in email-and-passwords page * fix: options icon dark and light mode * fix: derivx logo in trade modal, transfer modal, and cashier * fix: minify icon * fix: scaled down deriv logo in onboarding page * fix: made latest changes for rebranding * fix: finishing the improvement cards for rebranding * fix: changed font colors * fix: added the demo content to our label * fix: removed the demo from deriv platforms * fix: replaced account type and currency in the currency switcher --------- Co-authored-by: shontzu-deriv Co-authored-by: Hirad Co-authored-by: Matin shafiei Co-authored-by: shontzu <108507236+shontzu-deriv@users.noreply.github.com> --- .../account/src/Assets/ic-brand-deriv-red.svg | 2 +- .../self-exclusion-article-content.spec.js | 2 +- .../__tests__/self-exclusion-article.spec.js | 2 +- .../Security/Passwords/deriv-password.jsx | 26 ++++++++++++------ .../Security/Passwords/passwords-platform.jsx | 4 +-- packages/account/src/Styles/account.scss | 4 --- .../ic-branding-binarybot-dashboard.svg | 1 + .../branding/ic-branding-dbot-dashboard.svg | 1 + .../branding/ic-branding-deriv-logo.svg | 1 + .../ic-branding-derivgo-dashboard.svg | 1 + .../branding/ic-branding-derivx-dashboard.svg | 1 + .../ic-branding-dtrader-dashboard.svg | 1 + .../branding/ic-branding-mt5-cfds.svg | 1 + .../ic-branding-mt5-derived-dashboard.svg | 1 + .../ic-branding-mt5-financial-dashboard.svg | 1 + .../ic-branding-smarttrader-dashboard.svg | 1 + .../trading-platform/ic-appstore-options.svg | 2 +- .../assets/svgs/trading-platform/index.tsx | 22 +++++++-------- packages/appstore/src/components/app.tsx | 2 +- .../components/cfds-listing/cfds-listing.scss | 8 ++---- .../src/components/cfds-listing/index.tsx | 6 ++-- .../containers/trading-app-card.tsx | 19 +++++++------ .../elements/text/balance-text.scss | 16 ++--------- .../components/elements/text/balance-text.tsx | 7 ++--- .../main-title-bar/account-type-dropdown.scss | 17 +++++------- .../main-title-bar/asset-summary.tsx | 2 +- .../src/components/main-title-bar/index.tsx | 8 +++--- .../main-title-bar/regulators-switcher.tsx | 2 +- .../static-cfd-account-manager.tsx | 5 ++-- .../onboarding-new/static-dashboard.tsx | 12 ++++---- .../static-trading-app-card.tsx | 2 +- .../options-multipliers-listing/index.tsx | 6 ++-- .../src/modules/onboarding/onboarding.scss | 18 ++++++++++-- .../src/modules/onboarding/onboarding.tsx | 6 ++-- .../src/modules/traders-hub/traders-hub.scss | 6 ++-- packages/appstore/webpack.config.js | 2 +- .../trading-platform/ic-appstore-cfds.svg | 2 +- .../trading-platform/ic-appstore-derived.svg | 2 +- .../ic-appstore-financial.svg | 2 +- .../trading-platform/ic-appstore-options.svg | 2 +- .../src/stores/account-transfer-store.ts | 2 +- .../trading-platform/ic-appstore-cfds.svg | 2 +- .../trading-platform/ic-appstore-derived.svg | 2 +- .../ic-appstore-financial.svg | 2 +- .../__tests__/cfd-download-container.spec.js | 9 ++++-- .../src/Components/cfd-download-container.tsx | 6 +++- .../__tests__/cfd-password-modal.spec.js | 22 ++------------- .../cfd/src/Containers/cfd-password-modal.tsx | 11 +------- .../cfd/src/Containers/derivx-trade-modal.tsx | 10 +++++-- .../cfd/src/Containers/dmt5-trade-modal.tsx | 10 +++---- .../src/public/images/favicons/favicon.ico | Bin 1150 -> 1117 bytes .../icon/brand/ic-brand-binarybot.svg | 1 - .../components/icon/brand/ic-brand-dbot.svg | 1 - .../icon/brand/ic-brand-deriv-apps.svg | 1 - .../components/icon/brand/ic-brand-deriv.svg | 2 +- .../icon/brand/ic-brand-derivgo.svg | 2 +- .../brand/ic-brand-dmt5-financial-stp.svg | 2 +- .../icon/brand/ic-brand-dmt5-financial.svg | 2 +- .../icon/brand/ic-brand-dmt5-synthetics.svg | 2 +- .../components/icon/brand/ic-brand-dmt5.svg | 1 - .../icon/brand/ic-brand-dtrader.svg | 1 - .../icon/brand/ic-brand-dxtrade.svg | 1 - .../icon/brand/ic-brand-smarttrader.svg | 1 - .../components/icon/common/ic-clipboard.svg | 2 +- .../icon/common/ic-deriv-outline.svg | 2 +- .../src/components/icon/common/ic-edit.svg | 2 +- .../components/icon/common/ic-linux-logo.svg | 2 +- .../components/icon/common/ic-macos-logo.svg | 2 +- .../icon/common/ic-windows-logo.svg | 2 +- .../icon/dxtrade/ic-dxtrade-deriv-x.svg | 2 +- .../components/src/components/icon/icon.tsx | 3 ++ .../components/src/components/icon/icons.js | 22 ++++++++++----- .../rebranding/ic-rebranding-binary-bot.svg | 1 + .../ic-rebranding-deriv-bot-dashboard.svg | 1 + .../rebranding/ic-rebranding-deriv-bot.svg | 1 + .../ic-rebranding-deriv-go-dashboard.svg | 1 + .../ic-rebranding-deriv-trader-dashboard.svg | 8 ++++++ .../rebranding/ic-rebranding-deriv-trader.svg | 1 + .../icon/rebranding/ic-rebranding-deriv-x.svg | 1 + .../ic-rebranding-derivx-wordmark.svg | 1 + .../icon/rebranding/ic-rebranding-derivx.svg | 1 + .../ic-rebranding-dmt5-dashboard.svg | 1 + .../icon/rebranding/ic-rebranding-dmt5.svg | 1 + .../ic-rebranding-dxtrade-dashboard.svg | 1 + .../icon/rebranding/ic-rebranding-dxtrade.svg | 1 + .../rebranding/ic-rebranding-mt5-logo.svg | 1 + .../ic-rebranding-smarttrader-dashboard.svg | 1 + .../rebranding/ic-rebranding-smarttrader.svg | 1 + .../progress-bar-onboarding.scss | 2 +- .../src/components/types/icons.types.ts | 1 + packages/components/stories/icon/icons.js | 24 +++++++++++----- .../vertical-tabs/vertical-tabs.stories.js | 4 +-- .../__tests__/platform-dropdown.spec.tsx | 8 +----- .../Layout/Header/platform-dropdown.jsx | 13 ++------- .../Layout/Header/platform-switcher.jsx | 9 +++--- .../Layout/header/trading-hub-header.jsx | 11 ++------ .../SvgComponents/header/deriv-brand-logo.svg | 2 +- .../header/deriv-rebranding-logo.svg | 1 + .../images/favicons/apple-touch-icon-114.png | Bin 5276 -> 3161 bytes .../images/favicons/apple-touch-icon-120.png | Bin 5028 -> 3354 bytes .../images/favicons/apple-touch-icon-144.png | Bin 6169 -> 3446 bytes .../images/favicons/apple-touch-icon-152.png | Bin 7050 -> 3448 bytes .../images/favicons/apple-touch-icon-180.png | Bin 8007 -> 3694 bytes .../images/favicons/apple-touch-icon-57.png | Bin 2371 -> 2125 bytes .../images/favicons/apple-touch-icon-60.png | Bin 2467 -> 14942 bytes .../images/favicons/apple-touch-icon-72.png | Bin 2964 -> 2738 bytes .../images/favicons/apple-touch-icon-76.png | Bin 3077 -> 2683 bytes .../src/public/images/favicons/favicon-16.png | Bin 518 -> 629 bytes .../public/images/favicons/favicon-160.png | Bin 5879 -> 10232 bytes .../public/images/favicons/favicon-192.png | Bin 7141 -> 21706 bytes .../src/public/images/favicons/favicon-32.png | Bin 1117 -> 1498 bytes .../src/public/images/favicons/favicon-96.png | Bin 3425 -> 7324 bytes .../src/public/images/favicons/favicon.ico | Bin 1150 -> 1498 bytes .../_common/components/platform-dropdown.scss | 5 ---- .../_common/layout/trading-hub-header.scss | 5 ++-- packages/shared/brand.config.json | 22 +++++++-------- packages/shared/src/styles/themes.scss | 10 +++++++ .../src/public/images/favicons/favicon.ico | Bin 1150 -> 1117 bytes 118 files changed, 263 insertions(+), 235 deletions(-) create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-binarybot-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-dbot-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-deriv-logo.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivgo-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-derivx-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-dtrader-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-mt5-cfds.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-mt5-derived-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-mt5-financial-dashboard.svg create mode 100644 packages/appstore/src/assets/svgs/trading-platform/branding/ic-branding-smarttrader-dashboard.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-binarybot.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-dbot.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-deriv-apps.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-dmt5.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-dtrader.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-dxtrade.svg delete mode 100644 packages/components/src/components/icon/brand/ic-brand-smarttrader.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-binary-bot.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-bot-dashboard.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-bot.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-go-dashboard.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-trader-dashboard.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-trader.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-deriv-x.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-derivx-wordmark.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-derivx.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-dmt5-dashboard.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-dmt5.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-dxtrade-dashboard.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-dxtrade.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-mt5-logo.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-smarttrader-dashboard.svg create mode 100644 packages/components/src/components/icon/rebranding/ic-rebranding-smarttrader.svg create mode 100644 packages/core/src/Assets/SvgComponents/header/deriv-rebranding-logo.svg diff --git a/packages/account/src/Assets/ic-brand-deriv-red.svg b/packages/account/src/Assets/ic-brand-deriv-red.svg index 8cba7e7531d3..f40722d694ca 100644 --- a/packages/account/src/Assets/ic-brand-deriv-red.svg +++ b/packages/account/src/Assets/ic-brand-deriv-red.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article-content.spec.js b/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article-content.spec.js index 503617691d87..b251711eada1 100644 --- a/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article-content.spec.js +++ b/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article-content.spec.js @@ -10,7 +10,7 @@ describe('', () => { let mock_context = {}; const descr_text = 'About trading limits and self-exclusion'; const eu_item = - 'When you set your limits or self-exclusion, they will be aggregated across all your account types in DTrader and DBot. For example, the losses made on both platforms will add up and be counted towards the loss limit you set.'; + 'When you set your limits or self-exclusion, they will be aggregated across all your account types in Deriv Trader and Deriv Bot. For example, the losses made on both platforms will add up and be counted towards the loss limit you set.'; const eu_uk_item = 'These trading limits are optional, and you can strengthen them at any time. If you don’t wish to set a specific limit, leave the field blank. If you live in the United Kingdom, Customer Support can only remove or weaken your trading limits after 24 hours of receiving the request. If you live in the Isle of Man, Customer Support can only remove or weaken your trading limits after your trading limit period has expired.'; const not_app_settings_eu_descr = diff --git a/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article.spec.js b/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article.spec.js index f9fc46c31d50..b6b720a30991 100644 --- a/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article.spec.js +++ b/packages/account/src/Components/self-exclusion/__tests__/self-exclusion-article.spec.js @@ -23,7 +23,7 @@ describe('', () => { const eu_item = /these trading limits and self-exclusion help you control the amount of money and time you spend on deriv.com and exercise/i; const non_eu_item = - /these self-exclusion limits help you control the amount of money and time you spend trading on dtrader, dbot, smarttrader and binary bot on deriv. the limits you set here will help you exercise/i; + /these self-exclusion limits help you control the amount of money and time you spend trading on deriv trader, deriv bot, smarttrader and binary bot on deriv. the limits you set here will help you exercise/i; beforeEach(() => { mock_platform_context = { diff --git a/packages/account/src/Sections/Security/Passwords/deriv-password.jsx b/packages/account/src/Sections/Security/Passwords/deriv-password.jsx index 8d2e3b17a74b..eb70b8ab67d4 100644 --- a/packages/account/src/Sections/Security/Passwords/deriv-password.jsx +++ b/packages/account/src/Sections/Security/Passwords/deriv-password.jsx @@ -6,10 +6,8 @@ import { Localize, localize } from '@deriv/translations'; import FormSubHeader from 'Components/form-sub-header'; import SentEmailModal from 'Components/sent-email-modal'; import DerivComLogo from 'Assets/ic-brand-deriv-red.svg'; -import DerivGoLight from 'Assets/ic-brand-deriv-go-light.svg'; -import DerivGoDark from 'Assets/ic-brand-deriv-go-dark.svg'; -const DerivPassword = ({ email, is_dark_mode_on, is_social_signup, social_identity_provider }) => { +const DerivPassword = ({ email, is_social_signup, social_identity_provider }) => { const [is_sent_email_modal_open, setIsSentEmailModalOpen] = React.useState(false); const onClickSendEmail = () => { @@ -53,23 +51,35 @@ const DerivPassword = ({ email, is_dark_mode_on, is_social_signup, social_identi />
- + {brand_website_name}
- + - + - + - {is_dark_mode_on ? : } +
diff --git a/packages/account/src/Sections/Security/Passwords/passwords-platform.jsx b/packages/account/src/Sections/Security/Passwords/passwords-platform.jsx index d4bbc05566cd..a022f798b87e 100644 --- a/packages/account/src/Sections/Security/Passwords/passwords-platform.jsx +++ b/packages/account/src/Sections/Security/Passwords/passwords-platform.jsx @@ -54,7 +54,7 @@ const PasswordsPlatform = ({ email, has_dxtrade_accounts, has_mt5_accounts }) =>
- +