From 7aa8f68d98a36646d9e4a4ad8bc9c4b38007526b Mon Sep 17 00:00:00 2001 From: Michal Date: Thu, 12 Oct 2023 13:10:40 +0200 Subject: [PATCH] Improve ledger connect --- .../ConfirmRawTx/ConfirmRawTxWithHW.tsx | 27 +- .../src/features/Swap/common/strings.ts | 5 + .../ConfirmTxScreen/ConfirmTxWithHW.tsx | 98 +-- .../src/features/Swap/common/strings.json | 807 +++++++++--------- 4 files changed, 490 insertions(+), 447 deletions(-) diff --git a/apps/wallet-mobile/src/features/Swap/common/ConfirmRawTx/ConfirmRawTxWithHW.tsx b/apps/wallet-mobile/src/features/Swap/common/ConfirmRawTx/ConfirmRawTxWithHW.tsx index 1be393b00d..3d49004645 100644 --- a/apps/wallet-mobile/src/features/Swap/common/ConfirmRawTx/ConfirmRawTxWithHW.tsx +++ b/apps/wallet-mobile/src/features/Swap/common/ConfirmRawTx/ConfirmRawTxWithHW.tsx @@ -1,11 +1,13 @@ import React, {useState} from 'react' -import {ActivityIndicator, ScrollView} from 'react-native' +import {ActivityIndicator, ScrollView, StyleSheet, View} from 'react-native' +import {Text} from '../../../../components' import {LedgerConnect} from '../../../../HW' import {useSelectedWallet} from '../../../../SelectedWallet' import {DeviceId, DeviceObj, withBLE, withUSB} from '../../../../yoroi-wallets/hw' import {walletManager} from '../../../../yoroi-wallets/walletManager' import {LedgerTransportSwitch} from '../../useCases/ConfirmTxScreen/LedgerTransportSwitch' +import {useStrings} from '../strings' type TransportType = 'USB' | 'BLE' type Step = 'select-transport' | 'connect-transport' | 'loading' @@ -18,6 +20,7 @@ export const ConfirmRawTxWithHW = ({onConfirm}: Props) => { const [transportType, setTransportType] = useState('USB') const [step, setStep] = useState('select-transport') const wallet = useSelectedWallet() + const strings = useStrings() const onSelectTransport = (transportType: TransportType) => { setTransportType(transportType) @@ -53,5 +56,25 @@ export const ConfirmRawTxWithHW = ({onConfirm}: Props) => { ) } - return + return ( + + + + {strings.continueOnLedger} + + ) } + +const styles = StyleSheet.create({ + container: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + gap: 35, + }, + text: { + fontSize: 18, + color: '#000', + textAlign: 'center', + }, +}) diff --git a/apps/wallet-mobile/src/features/Swap/common/strings.ts b/apps/wallet-mobile/src/features/Swap/common/strings.ts index 23a5eec09a..62a580f626 100644 --- a/apps/wallet-mobile/src/features/Swap/common/strings.ts +++ b/apps/wallet-mobile/src/features/Swap/common/strings.ts @@ -117,6 +117,7 @@ export const useStrings = () => { noPool: intl.formatMessage(messages.noPool), generalErrorTitle: intl.formatMessage(errorMessages.generalError.title), generalErrorMessage: (e) => intl.formatMessage(errorMessages.generalError.message, {message: e}), + continueOnLedger: intl.formatMessage(ledgerMessages.continueOnLedger), } } @@ -527,4 +528,8 @@ export const messages = defineMessages({ id: 'swap.swapScreen.noPool', defaultMessage: '!!! This pair is not available in any liquidity pool', }, + continueOnLedger: { + id: 'global.ledgerMessages.continueOnLedger', + defaultMessage: '!!!Continue on Ledger', + }, }) diff --git a/apps/wallet-mobile/src/features/Swap/useCases/ConfirmTxScreen/ConfirmTxWithHW.tsx b/apps/wallet-mobile/src/features/Swap/useCases/ConfirmTxScreen/ConfirmTxWithHW.tsx index 4e45ec6c00..79f4d78462 100644 --- a/apps/wallet-mobile/src/features/Swap/useCases/ConfirmTxScreen/ConfirmTxWithHW.tsx +++ b/apps/wallet-mobile/src/features/Swap/useCases/ConfirmTxScreen/ConfirmTxWithHW.tsx @@ -1,8 +1,7 @@ -import React from 'react' -import {ScrollView} from 'react-native' +import React, {useState} from 'react' +import {ActivityIndicator, ScrollView, StyleSheet, View} from 'react-native' -import {Boundary, TwoActionView} from '../../../../components' -import {TransferSummary} from '../../../../Dashboard/WithdrawStakingRewards/TransferSummary' +import {Text} from '../../../../components' import {LedgerConnect} from '../../../../HW' import {YoroiWallet} from '../../../../yoroi-wallets/cardano/types' import {useSignWithHwAndSubmitTx} from '../../../../yoroi-wallets/hooks' @@ -20,11 +19,17 @@ type Props = { } type TransportType = 'USB' | 'BLE' +type Step = 'select-transport' | 'connect-transport' | 'loading' -export const ConfirmTxWithHW = (props: Props) => { - const {wallet} = props +export const ConfirmTxWithHW = ({onSuccess, wallet, unsignedTx}: Props) => { const [transportType, setTransportType] = React.useState('USB') - const [step, setStep] = React.useState<'select-transport' | 'connect-transport' | 'confirm'>('select-transport') + const [step, setStep] = useState('select-transport') + const strings = useStrings() + + const {signAndSubmitTx} = useSignWithHwAndSubmitTx( + {wallet}, // + {signTx: {onSuccess}}, + ) const onSelectTransport = (transportType: TransportType) => { setTransportType(transportType) @@ -32,58 +37,53 @@ export const ConfirmTxWithHW = (props: Props) => { } const onConnectBLE = async (deviceId: DeviceId) => { + setStep('loading') await walletManager.updateHWDeviceInfo(wallet, withBLE(wallet, deviceId)) - setStep('confirm') + signAndSubmitTx({unsignedTx, useUSB: false}) } const onConnectUSB = async (deviceObj: DeviceObj) => { + setStep('loading') await walletManager.updateHWDeviceInfo(wallet, withUSB(wallet, deviceObj)) - setStep('confirm') + signAndSubmitTx({unsignedTx, useUSB: true}) } - return ( - <> - - onSelectTransport('BLE')} - onSelectUSB={() => onSelectTransport('USB')} - /> - - - - - - - - - - - - - - - ) -} + if (step === 'select-transport') { + return ( + onSelectTransport('BLE')} + onSelectUSB={() => onSelectTransport('USB')} + /> + ) + } -const Confirm = ({wallet, onSuccess, unsignedTx, transport: transportType}: Props & {transport: TransportType}) => { - const strings = useStrings() - const {signAndSubmitTx, isLoading} = useSignWithHwAndSubmitTx( - {wallet}, // - {signTx: {onSuccess}}, - ) + if (step === 'connect-transport') { + return ( + + + + ) + } return ( - signAndSubmitTx({unsignedTx, useUSB: transportType === 'USB'}), - }} - > - - + + + + {strings.continueOnLedger} + ) } -const Route = ({active, children}: {active: boolean; children: React.ReactNode}) => <>{active ? children : null} +const styles = StyleSheet.create({ + container: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + gap: 35, + }, + text: { + fontSize: 18, + color: '#000', + textAlign: 'center', + }, +}) diff --git a/apps/wallet-mobile/translations/messages/src/features/Swap/common/strings.json b/apps/wallet-mobile/translations/messages/src/features/Swap/common/strings.json index 881a046263..7fd866e40a 100644 --- a/apps/wallet-mobile/translations/messages/src/features/Swap/common/strings.json +++ b/apps/wallet-mobile/translations/messages/src/features/Swap/common/strings.json @@ -4,14 +4,14 @@ "defaultMessage": "!!!Incorrect password.", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 126, + "line": 127, "column": 24, - "index": 7970 + "index": 8045 }, "end": { - "line": 129, + "line": 130, "column": 3, - "index": 8079 + "index": 8154 } }, { @@ -19,14 +19,14 @@ "defaultMessage": "!!!Swap", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 130, + "line": 131, "column": 13, - "index": 8094 + "index": 8169 }, "end": { - "line": 133, + "line": 134, "column": 3, - "index": 8167 + "index": 8242 } }, { @@ -34,14 +34,14 @@ "defaultMessage": "!!!Token swap", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 134, + "line": 135, "column": 13, - "index": 8182 + "index": 8257 }, "end": { - "line": 137, + "line": 138, "column": 3, - "index": 8264 + "index": 8339 } }, { @@ -49,14 +49,14 @@ "defaultMessage": "!!!Orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 138, + "line": 139, "column": 13, - "index": 8279 + "index": 8354 }, "end": { - "line": 141, + "line": 142, "column": 3, - "index": 8358 + "index": 8433 } }, { @@ -64,14 +64,14 @@ "defaultMessage": "!!!Market Button", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 142, + "line": 143, "column": 16, - "index": 8376 + "index": 8451 }, "end": { - "line": 145, + "line": 146, "column": 3, - "index": 8461 + "index": 8536 } }, { @@ -79,14 +79,14 @@ "defaultMessage": "!!!Limit", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 146, + "line": 147, "column": 15, - "index": 8478 + "index": 8553 }, "end": { - "line": 149, + "line": 150, "column": 3, - "index": 8554 + "index": 8629 } }, { @@ -94,14 +94,14 @@ "defaultMessage": "!!!Swap from", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 150, + "line": 151, "column": 12, - "index": 8568 + "index": 8643 }, "end": { - "line": 153, + "line": 154, "column": 3, - "index": 8645 + "index": 8720 } }, { @@ -109,14 +109,14 @@ "defaultMessage": "!!!Swap to", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 154, + "line": 155, "column": 10, - "index": 8657 + "index": 8732 }, "end": { - "line": 157, + "line": 158, "column": 3, - "index": 8730 + "index": 8805 } }, { @@ -124,14 +124,14 @@ "defaultMessage": "!!!Current Balance", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 158, + "line": 159, "column": 18, - "index": 8750 + "index": 8825 }, "end": { - "line": 161, + "line": 162, "column": 3, - "index": 8839 + "index": 8914 } }, { @@ -139,14 +139,14 @@ "defaultMessage": "!!!Balance", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 162, + "line": 163, "column": 11, - "index": 8852 + "index": 8927 }, "end": { - "line": 165, + "line": 166, "column": 3, - "index": 8926 + "index": 9001 } }, { @@ -154,14 +154,14 @@ "defaultMessage": "!!!Select Token", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 166, + "line": 167, "column": 15, - "index": 8943 + "index": 9018 }, "end": { - "line": 169, + "line": 170, "column": 3, - "index": 9026 + "index": 9101 } }, { @@ -169,14 +169,14 @@ "defaultMessage": "!!!Market Price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 170, + "line": 171, "column": 15, - "index": 9043 + "index": 9118 }, "end": { - "line": 173, + "line": 174, "column": 3, - "index": 9126 + "index": 9201 } }, { @@ -184,14 +184,14 @@ "defaultMessage": "!!!Limit Price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 174, + "line": 175, "column": 14, - "index": 9142 + "index": 9217 }, "end": { - "line": 177, + "line": 178, "column": 3, - "index": 9223 + "index": 9298 } }, { @@ -199,14 +199,14 @@ "defaultMessage": "!!!Slippage Tolerance", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 178, + "line": 179, "column": 21, - "index": 9246 + "index": 9321 }, "end": { - "line": 181, + "line": 182, "column": 3, - "index": 9341 + "index": 9416 } }, { @@ -214,14 +214,14 @@ "defaultMessage": "!!!Slippage must be a number between 0 and 100 and have up to 1 decimal", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 182, + "line": 183, "column": 26, - "index": 9369 + "index": 9444 }, "end": { - "line": 185, + "line": 186, "column": 3, - "index": 9519 + "index": 9594 } }, { @@ -229,14 +229,14 @@ "defaultMessage": "!!!Slippage Tolerance Info", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 186, + "line": 187, "column": 25, - "index": 9546 + "index": 9621 }, "end": { - "line": 189, + "line": 190, "column": 3, - "index": 9650 + "index": 9725 } }, { @@ -244,14 +244,14 @@ "defaultMessage": "!!!Verified by {pool}", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 190, + "line": 191, "column": 14, - "index": 9666 + "index": 9741 }, "end": { - "line": 193, + "line": 194, "column": 3, - "index": 9754 + "index": 9829 } }, { @@ -259,14 +259,14 @@ "defaultMessage": "!!!This asset is in my portfolio", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 194, + "line": 195, "column": 12, - "index": 9768 + "index": 9843 }, "end": { - "line": 197, + "line": 198, "column": 3, - "index": 9865 + "index": 9940 } }, { @@ -274,14 +274,14 @@ "defaultMessage": "!!!Default Slippage Tolerance", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 198, + "line": 199, "column": 19, - "index": 9886 + "index": 9961 }, "end": { - "line": 201, + "line": 202, "column": 3, - "index": 9987 + "index": 10062 } }, { @@ -289,14 +289,14 @@ "defaultMessage": "!!!Slippage tolerance is set as a percentage of the total swap value.", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 202, + "line": 203, "column": 16, - "index": 10005 + "index": 10080 }, "end": { - "line": 205, + "line": 206, "column": 3, - "index": 10143 + "index": 10218 } }, { @@ -304,14 +304,14 @@ "defaultMessage": "!!!(auto)", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 206, + "line": 207, "column": 12, - "index": 10157 + "index": 10232 }, "end": { - "line": 209, + "line": 210, "column": 3, - "index": 10231 + "index": 10306 } }, { @@ -319,14 +319,14 @@ "defaultMessage": "!!!change pool", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 210, + "line": 211, "column": 14, - "index": 10247 + "index": 10322 }, "end": { - "line": 213, + "line": 214, "column": 3, - "index": 10328 + "index": 10403 } }, { @@ -334,14 +334,14 @@ "defaultMessage": "!!!Min-ADA is the minimum ADA amount required to be contained when holding or sending Cardano native tokens.", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 214, + "line": 215, "column": 14, - "index": 10344 + "index": 10419 }, "end": { - "line": 218, + "line": 219, "column": 3, - "index": 10525 + "index": 10600 } }, { @@ -349,14 +349,14 @@ "defaultMessage": "!!!Min ADA", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 219, + "line": 220, "column": 19, - "index": 10546 + "index": 10621 }, "end": { - "line": 222, + "line": 223, "column": 3, - "index": 10628 + "index": 10703 } }, { @@ -364,14 +364,14 @@ "defaultMessage": "!!!Swap fees include the following:\n • Matchmaker Fee\n • Frontend Fee\n • Liquidity Provider Fee", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 223, + "line": 224, "column": 12, - "index": 10642 + "index": 10717 }, "end": { - "line": 226, + "line": 227, "column": 3, - "index": 10805 + "index": 10880 } }, { @@ -379,14 +379,14 @@ "defaultMessage": "!!!Fees", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 227, + "line": 228, "column": 17, - "index": 10824 + "index": 10899 }, "end": { - "line": 230, + "line": 231, "column": 3, - "index": 10901 + "index": 10976 } }, { @@ -394,14 +394,14 @@ "defaultMessage": "!!!Liquidity provider fee ({fee}%)", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 231, + "line": 232, "column": 20, - "index": 10923 + "index": 10998 }, "end": { - "line": 234, + "line": 235, "column": 3, - "index": 11030 + "index": 11105 } }, { @@ -409,14 +409,14 @@ "defaultMessage": "!!!Minimum amount of tokens you can get because of the slippage tolerance.", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 235, + "line": 236, "column": 19, - "index": 11051 + "index": 11126 }, "end": { - "line": 238, + "line": 239, "column": 3, - "index": 11197 + "index": 11272 } }, { @@ -424,14 +424,14 @@ "defaultMessage": "!!!Min Received", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 239, + "line": 240, "column": 24, - "index": 11223 + "index": 11298 }, "end": { - "line": 242, + "line": 243, "column": 3, - "index": 11315 + "index": 11390 } }, { @@ -439,14 +439,14 @@ "defaultMessage": "!!!Enter a value from 0% to 100%. You can also enter up to 1 decimal", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 243, + "line": 244, "column": 17, - "index": 11334 + "index": 11409 }, "end": { - "line": 246, + "line": 247, "column": 3, - "index": 11472 + "index": 11547 } }, { @@ -454,14 +454,14 @@ "defaultMessage": "!!!{pool} verification", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 247, + "line": 248, "column": 20, - "index": 11494 + "index": 11569 }, "end": { - "line": 250, + "line": 251, "column": 3, - "index": 11589 + "index": 11664 } }, { @@ -469,14 +469,14 @@ "defaultMessage": "!!!Volume, 24h", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 251, + "line": 252, "column": 10, - "index": 11601 + "index": 11676 }, "end": { - "line": 254, + "line": 255, "column": 3, - "index": 11678 + "index": 11753 } }, { @@ -484,14 +484,14 @@ "defaultMessage": "!!!Cardano projects that list their own tokens can apply for an additional {pool} verification. This verification is a manual validation that {pool} team performs with the help of Cardano Foundation.", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 255, + "line": 256, "column": 24, - "index": 11704 + "index": 11779 }, "end": { - "line": 259, + "line": 260, "column": 3, - "index": 11986 + "index": 12061 } }, { @@ -499,14 +499,14 @@ "defaultMessage": "!!! Price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 260, + "line": 261, "column": 9, - "index": 11997 + "index": 12072 }, "end": { - "line": 263, + "line": 264, "column": 3, - "index": 12059 + "index": 12134 } }, { @@ -514,14 +514,14 @@ "defaultMessage": "!!!No assets found for this pair", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 264, + "line": 265, "column": 17, - "index": 12078 + "index": 12153 }, "end": { - "line": 267, + "line": 268, "column": 3, - "index": 12180 + "index": 12255 } }, { @@ -529,14 +529,14 @@ "defaultMessage": "!!!No assets found for \"{search}\"", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 268, + "line": 269, "column": 20, - "index": 12202 + "index": 12277 }, "end": { - "line": 271, + "line": 272, "column": 3, - "index": 12308 + "index": 12383 } }, { @@ -544,14 +544,14 @@ "defaultMessage": "!!!Each verified tokens gets", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 272, + "line": 273, "column": 21, - "index": 12331 + "index": 12406 }, "end": { - "line": 275, + "line": 276, "column": 3, - "index": 12433 + "index": 12508 } }, { @@ -559,14 +559,14 @@ "defaultMessage": "!!!verified badge", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 276, + "line": 277, "column": 17, - "index": 12452 + "index": 12527 }, "end": { - "line": 279, + "line": 280, "column": 3, - "index": 12539 + "index": 12614 } }, { @@ -574,14 +574,14 @@ "defaultMessage": "!!!Open orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 280, + "line": 281, "column": 14, - "index": 12555 + "index": 12630 }, "end": { - "line": 283, + "line": 284, "column": 3, - "index": 12636 + "index": 12711 } }, { @@ -589,14 +589,14 @@ "defaultMessage": "!!!Completed orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 284, + "line": 285, "column": 19, - "index": 12657 + "index": 12732 }, "end": { - "line": 287, + "line": 288, "column": 3, - "index": 12748 + "index": 12823 } }, { @@ -604,14 +604,14 @@ "defaultMessage": "!!!TVL", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 288, + "line": 289, "column": 7, - "index": 12757 + "index": 12832 }, "end": { - "line": 291, + "line": 292, "column": 3, - "index": 12823 + "index": 12898 } }, { @@ -619,14 +619,14 @@ "defaultMessage": "!!! Dex Fee", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 292, + "line": 293, "column": 11, - "index": 12836 + "index": 12911 }, "end": { - "line": 295, + "line": 296, "column": 3, - "index": 12911 + "index": 12986 } }, { @@ -634,14 +634,14 @@ "defaultMessage": "!!! Batcher Fee", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 296, + "line": 297, "column": 14, - "index": 12927 + "index": 13002 }, "end": { - "line": 299, + "line": 300, "column": 3, - "index": 13009 + "index": 13084 } }, { @@ -649,14 +649,14 @@ "defaultMessage": "!!!Limit price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 300, + "line": 301, "column": 26, - "index": 13037 + "index": 13112 }, "end": { - "line": 303, + "line": 304, "column": 3, - "index": 13130 + "index": 13205 } }, { @@ -664,14 +664,14 @@ "defaultMessage": "!!!Are you sure you want to proceed this order with the limit price that is 10% or more higher than the\nmarket price?", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 304, + "line": 305, "column": 32, - "index": 13164 + "index": 13239 }, "end": { - "line": 309, + "line": 310, "column": 3, - "index": 13384 + "index": 13459 } }, { @@ -679,14 +679,14 @@ "defaultMessage": "!!!Your limit price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 310, + "line": 311, "column": 30, - "index": 13416 + "index": 13491 }, "end": { - "line": 313, + "line": 314, "column": 3, - "index": 13518 + "index": 13593 } }, { @@ -694,14 +694,14 @@ "defaultMessage": "!!!Market price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 314, + "line": 315, "column": 32, - "index": 13552 + "index": 13627 }, "end": { - "line": 317, + "line": 318, "column": 3, - "index": 13652 + "index": 13727 } }, { @@ -709,14 +709,14 @@ "defaultMessage": "!!!Back", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 318, + "line": 319, "column": 25, - "index": 13679 + "index": 13754 }, "end": { - "line": 321, + "line": 322, "column": 3, - "index": 13764 + "index": 13839 } }, { @@ -724,14 +724,14 @@ "defaultMessage": "!!!Swap", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 322, + "line": 323, "column": 28, - "index": 13794 + "index": 13869 }, "end": { - "line": 325, + "line": 326, "column": 3, - "index": 13882 + "index": 13957 } }, { @@ -739,14 +739,14 @@ "defaultMessage": "!!!Transaction signed", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 326, + "line": 327, "column": 21, - "index": 13905 + "index": 13980 }, "end": { - "line": 329, + "line": 330, "column": 3, - "index": 14000 + "index": 14075 } }, { @@ -754,14 +754,14 @@ "defaultMessage": "!!!Your transactions will be displayed both in the list of transaction and Open swap orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 330, + "line": 331, "column": 22, - "index": 14024 + "index": 14099 }, "end": { - "line": 333, + "line": 334, "column": 3, - "index": 14190 + "index": 14265 } }, { @@ -769,14 +769,14 @@ "defaultMessage": "!!! dex", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 334, + "line": 335, "column": 7, - "index": 14199 + "index": 14274 }, "end": { - "line": 337, + "line": 338, "column": 3, - "index": 14266 + "index": 14341 } }, { @@ -784,14 +784,14 @@ "defaultMessage": "!!!see on explorer", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 338, + "line": 339, "column": 17, - "index": 14285 + "index": 14360 }, "end": { - "line": 341, + "line": 342, "column": 3, - "index": 14373 + "index": 14448 } }, { @@ -799,14 +799,14 @@ "defaultMessage": "!!!GO to Orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 342, + "line": 343, "column": 14, - "index": 14389 + "index": 14464 }, "end": { - "line": 345, + "line": 346, "column": 3, - "index": 14471 + "index": 14546 } }, { @@ -814,14 +814,14 @@ "defaultMessage": "!!!Asset", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 346, + "line": 347, "column": 9, - "index": 14482 + "index": 14557 }, "end": { - "line": 349, + "line": 350, "column": 3, - "index": 14555 + "index": 14630 } }, { @@ -829,14 +829,14 @@ "defaultMessage": "!!!Clear", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 350, + "line": 351, "column": 9, - "index": 14566 + "index": 14641 }, "end": { - "line": 353, + "line": 354, "column": 3, - "index": 14627 + "index": 14702 } }, { @@ -844,14 +844,14 @@ "defaultMessage": "!!!Sign transaction", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 354, + "line": 355, "column": 19, - "index": 14648 + "index": 14723 }, "end": { - "line": 357, + "line": 358, "column": 3, - "index": 14730 + "index": 14805 } }, { @@ -859,14 +859,14 @@ "defaultMessage": "!!!Spending Password", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 358, + "line": 359, "column": 20, - "index": 14752 + "index": 14827 }, "end": { - "line": 361, + "line": 362, "column": 3, - "index": 14836 + "index": 14911 } }, { @@ -874,14 +874,14 @@ "defaultMessage": "!!!Enter spending password to sign this transaction", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 362, + "line": 363, "column": 25, - "index": 14863 + "index": 14938 }, "end": { - "line": 365, + "line": 366, "column": 3, - "index": 14983 + "index": 15058 } }, { @@ -889,14 +889,14 @@ "defaultMessage": "!!!Sign", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 366, + "line": 367, "column": 8, - "index": 14993 + "index": 15068 }, "end": { - "line": 369, + "line": 370, "column": 3, - "index": 15052 + "index": 15127 } }, { @@ -904,14 +904,14 @@ "defaultMessage": "!!!Swap", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 370, + "line": 371, "column": 14, - "index": 15068 + "index": 15143 }, "end": { - "line": 373, + "line": 374, "column": 3, - "index": 15127 + "index": 15202 } }, { @@ -919,14 +919,14 @@ "defaultMessage": "!!!completed orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 374, + "line": 375, "column": 23, - "index": 15152 + "index": 15227 }, "end": { - "line": 377, + "line": 378, "column": 3, - "index": 15237 + "index": 15312 } }, { @@ -934,14 +934,14 @@ "defaultMessage": "!!!open orders", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 378, + "line": 379, "column": 18, - "index": 15257 + "index": 15332 }, "end": { - "line": 381, + "line": 382, "column": 3, - "index": 15332 + "index": 15407 } }, { @@ -949,14 +949,14 @@ "defaultMessage": "!!!Confirm order cancelation", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 382, + "line": 383, "column": 24, - "index": 15358 + "index": 15433 }, "end": { - "line": 385, + "line": 386, "column": 3, - "index": 15454 + "index": 15529 } }, { @@ -964,14 +964,14 @@ "defaultMessage": "!!!Cancel order", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 386, + "line": 387, "column": 29, - "index": 15485 + "index": 15560 }, "end": { - "line": 389, + "line": 390, "column": 3, - "index": 15572 + "index": 15647 } }, { @@ -979,14 +979,14 @@ "defaultMessage": "!!!Are you sure you want to cancel this order?", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 390, + "line": 391, "column": 31, - "index": 15605 + "index": 15680 }, "end": { - "line": 393, + "line": 394, "column": 3, - "index": 15726 + "index": 15801 } }, { @@ -994,14 +994,14 @@ "defaultMessage": "!!!Learn more about swap orders in Yoroi", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 394, + "line": 395, "column": 23, - "index": 15751 + "index": 15826 }, "end": { - "line": 397, + "line": 398, "column": 3, - "index": 15858 + "index": 15933 } }, { @@ -1009,14 +1009,14 @@ "defaultMessage": "!!!Asset price", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 398, + "line": 399, "column": 29, - "index": 15889 + "index": 15964 }, "end": { - "line": 401, + "line": 402, "column": 3, - "index": 15976 + "index": 16051 } }, { @@ -1024,14 +1024,14 @@ "defaultMessage": "!!!Asset amount", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 402, + "line": 403, "column": 30, - "index": 16008 + "index": 16083 }, "end": { - "line": 405, + "line": 406, "column": 3, - "index": 16097 + "index": 16172 } }, { @@ -1039,14 +1039,14 @@ "defaultMessage": "!!!Total returned", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 406, + "line": 407, "column": 32, - "index": 16131 + "index": 16206 }, "end": { - "line": 409, + "line": 410, "column": 3, - "index": 16224 + "index": 16299 } }, { @@ -1054,14 +1054,14 @@ "defaultMessage": "!!!Cancellation Fee", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 410, + "line": 411, "column": 34, - "index": 16260 + "index": 16335 }, "end": { - "line": 413, + "line": 414, "column": 3, - "index": 16357 + "index": 16432 } }, { @@ -1069,14 +1069,14 @@ "defaultMessage": "!!!Confirm", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 414, + "line": 415, "column": 26, - "index": 16385 + "index": 16460 }, "end": { - "line": 417, + "line": 418, "column": 3, - "index": 16465 + "index": 16540 } }, { @@ -1084,14 +1084,14 @@ "defaultMessage": "!!!Back", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 418, + "line": 419, "column": 23, - "index": 16490 + "index": 16565 }, "end": { - "line": 421, + "line": 422, "column": 3, - "index": 16564 + "index": 16639 } }, { @@ -1099,14 +1099,14 @@ "defaultMessage": "!!!Total", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 422, + "line": 423, "column": 19, - "index": 16585 + "index": 16660 }, "end": { - "line": 425, + "line": 426, "column": 3, - "index": 16655 + "index": 16730 } }, { @@ -1114,14 +1114,14 @@ "defaultMessage": "!!!Liquidity Pool", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 426, + "line": 427, "column": 27, - "index": 16684 + "index": 16759 }, "end": { - "line": 429, + "line": 430, "column": 3, - "index": 16771 + "index": 16846 } }, { @@ -1129,14 +1129,14 @@ "defaultMessage": "!!!Time Created", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 430, + "line": 431, "column": 25, - "index": 16798 + "index": 16873 }, "end": { - "line": 433, + "line": 434, "column": 3, - "index": 16881 + "index": 16956 } }, { @@ -1144,14 +1144,14 @@ "defaultMessage": "!!!Transaction ID", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 434, + "line": 435, "column": 18, - "index": 16901 + "index": 16976 }, "end": { - "line": 437, + "line": 438, "column": 3, - "index": 16979 + "index": 17054 } }, { @@ -1159,14 +1159,14 @@ "defaultMessage": "!!!Choose Connection Method", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 438, + "line": 439, "column": 26, - "index": 17007 + "index": 17082 }, "end": { - "line": 441, + "line": 442, "column": 3, - "index": 17125 + "index": 17200 } }, { @@ -1174,14 +1174,14 @@ "defaultMessage": "!!!Choose this option if you want to connect to a Ledger Nano model X or S using an on-the-go USB cable adaptor:", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 442, + "line": 443, "column": 18, - "index": 17145 + "index": 17220 }, "end": { - "line": 447, + "line": 448, "column": 3, - "index": 17374 + "index": 17449 } }, { @@ -1189,14 +1189,14 @@ "defaultMessage": "!!!Connect with USB", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 448, + "line": 449, "column": 13, - "index": 17389 + "index": 17464 }, "end": { - "line": 451, + "line": 452, "column": 3, - "index": 17503 + "index": 17578 } }, { @@ -1204,14 +1204,14 @@ "defaultMessage": "!!! USB connection is blocked by iOS devices", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 452, + "line": 453, "column": 26, - "index": 17531 + "index": 17606 }, "end": { - "line": 455, + "line": 456, "column": 3, - "index": 17683 + "index": 17758 } }, { @@ -1219,14 +1219,14 @@ "defaultMessage": "!!!Choose this option if you want to connect to a Ledger Nano model X through Bluetooth:", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 456, + "line": 457, "column": 24, - "index": 17709 + "index": 17784 }, "end": { - "line": 459, + "line": 460, "column": 3, - "index": 17903 + "index": 17978 } }, { @@ -1234,14 +1234,14 @@ "defaultMessage": "!!!Connect with Bluetooth", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 460, + "line": 461, "column": 19, - "index": 17924 + "index": 17999 }, "end": { - "line": 463, + "line": 464, "column": 3, - "index": 18050 + "index": 18125 } }, { @@ -1249,14 +1249,14 @@ "defaultMessage": "!!!Connect with Bluetooth", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 464, + "line": 465, "column": 18, - "index": 18070 + "index": 18145 }, "end": { - "line": 467, + "line": 468, "column": 3, - "index": 18180 + "index": 18255 } }, { @@ -1264,14 +1264,14 @@ "defaultMessage": "!!!You have", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 470, + "line": 471, "column": 11, - "index": 18239 + "index": 18314 }, "end": { - "line": 473, + "line": 474, "column": 3, - "index": 18334 + "index": 18409 } }, { @@ -1279,14 +1279,14 @@ "defaultMessage": "!!!No assets found", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 474, + "line": 475, "column": 12, - "index": 18348 + "index": 18423 }, "end": { - "line": 477, + "line": 478, "column": 3, - "index": 18451 + "index": 18526 } }, { @@ -1294,14 +1294,14 @@ "defaultMessage": "!!!found", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 478, + "line": 479, "column": 9, - "index": 18462 + "index": 18537 }, "end": { - "line": 481, + "line": 482, "column": 3, - "index": 18552 + "index": 18627 } }, { @@ -1309,14 +1309,14 @@ "defaultMessage": "!!!Search tokens", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 482, + "line": 483, "column": 16, - "index": 18570 + "index": 18645 }, "end": { - "line": 485, + "line": 486, "column": 3, - "index": 18666 + "index": 18741 } }, { @@ -1324,14 +1324,14 @@ "defaultMessage": "!!!Select asset", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 486, + "line": 487, "column": 20, - "index": 18688 + "index": 18763 }, "end": { - "line": 489, + "line": 490, "column": 3, - "index": 18777 + "index": 18852 } }, { @@ -1339,14 +1339,14 @@ "defaultMessage": "!!!Confirm", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 490, + "line": 491, "column": 11, - "index": 18790 + "index": 18865 }, "end": { - "line": 493, + "line": 494, "column": 3, - "index": 18884 + "index": 18959 } }, { @@ -1354,14 +1354,14 @@ "defaultMessage": "!!!Assign collateral", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 494, + "line": 495, "column": 20, - "index": 18906 + "index": 18981 }, "end": { - "line": 497, + "line": 498, "column": 3, - "index": 19013 + "index": 19088 } }, { @@ -1369,14 +1369,14 @@ "defaultMessage": "!!!Collateral not found", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 498, + "line": 499, "column": 22, - "index": 19037 + "index": 19112 }, "end": { - "line": 501, + "line": 502, "column": 3, - "index": 19149 + "index": 19224 } }, { @@ -1384,14 +1384,14 @@ "defaultMessage": "!!!You don't have an active collateral utxo", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 502, + "line": 503, "column": 22, - "index": 19173 + "index": 19248 }, "end": { - "line": 505, + "line": 506, "column": 3, - "index": 19305 + "index": 19380 } }, { @@ -1399,14 +1399,14 @@ "defaultMessage": "!!!Transaction failed", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 506, + "line": 507, "column": 17, - "index": 19324 + "index": 19399 }, "end": { - "line": 509, + "line": 510, "column": 3, - "index": 19426 + "index": 19501 } }, { @@ -1414,14 +1414,14 @@ "defaultMessage": "!!!Your transaction has not been processed properly due to technical issues", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 510, + "line": 511, "column": 16, - "index": 19444 + "index": 19519 }, "end": { - "line": 513, + "line": 514, "column": 3, - "index": 19599 + "index": 19674 } }, { @@ -1429,14 +1429,14 @@ "defaultMessage": "!!!Try again", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 514, + "line": 515, "column": 18, - "index": 19619 + "index": 19694 }, "end": { - "line": 517, + "line": 518, "column": 3, - "index": 19713 + "index": 19788 } }, { @@ -1444,14 +1444,14 @@ "defaultMessage": "!!!Not enough balance", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 518, + "line": 519, "column": 20, - "index": 19735 + "index": 19810 }, "end": { - "line": 521, + "line": 522, "column": 3, - "index": 19829 + "index": 19904 } }, { @@ -1459,14 +1459,14 @@ "defaultMessage": "!!!Not enough supply in the pool", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 522, + "line": 523, "column": 19, - "index": 19850 + "index": 19925 }, "end": { - "line": 525, + "line": 526, "column": 3, - "index": 19954 + "index": 20029 } }, { @@ -1474,14 +1474,29 @@ "defaultMessage": "!!! This pair is not available in any liquidity pool", "file": "src/features/Swap/common/strings.ts", "start": { - "line": 526, + "line": 527, "column": 10, - "index": 19966 + "index": 20041 + }, + "end": { + "line": 530, + "column": 3, + "index": 20156 + } + }, + { + "id": "global.ledgerMessages.continueOnLedger", + "defaultMessage": "!!!Continue on Ledger", + "file": "src/features/Swap/common/strings.ts", + "start": { + "line": 531, + "column": 20, + "index": 20178 }, "end": { - "line": 529, + "line": 534, "column": 3, - "index": 20081 + "index": 20278 } } ] \ No newline at end of file