diff --git a/apps/wallet-mobile/src/features/ReviewTx/common/WalletBalance.tsx b/apps/wallet-mobile/src/features/ReviewTx/common/WalletBalance.tsx new file mode 100644 index 0000000000..808e4dcaeb --- /dev/null +++ b/apps/wallet-mobile/src/features/ReviewTx/common/WalletBalance.tsx @@ -0,0 +1,172 @@ +import {useTheme} from '@yoroi/theme' +import {PortfolioTokenBalances} from '@yoroi/types/lib/typescript/portfolio/balances' +import * as React from 'react' +import {FlatList, StyleSheet, Text, View} from 'react-native' + +import {Icon} from '../../../components/Icon' +import {Space} from '../../../components/Space/Space' +import {usePortfolioBalances} from '../../Portfolio/common/hooks/usePortfolioBalances' +import {TokenInfoIcon} from '../../Portfolio/common/TokenAmountItem/TokenInfoIcon' +import {BalanceCard} from '../../Portfolio/useCases/PortfolioDashboard/BalanceCard/BalanceCard' +import {useSelectedWallet} from '../../WalletManager/common/hooks/useSelectedWallet' +import {useStrings} from './hooks/useStrings' + +export const WalletBalance = ({image, plate, name}: {image: string; plate: string; name: string}) => { + const {styles} = useStyles() + const strings = useStrings() + const {wallet} = useSelectedWallet() + const balances = usePortfolioBalances({wallet}) + const ftList = balances.fts ?? [] + const nftsList = balances.nfts ?? [] + + return ( + + + + + + + + + {name} + + + + {plate} + + + + + + + + + + + + + + + + + ) +} + +const TokenSquare = ({ + title, + count, + list, +}: { + title: string + count: number + list: PortfolioTokenBalances['fts'] | PortfolioTokenBalances['nfts'] +}) => { + const {styles} = useStyles() + + if (list.length == 0) { + return ( + + {title} + + + + - + + ) + } + + return ( + + {title} + + + + {count} + + + + ) +} + +const TokenSquares = ({children}: {children: React.ReactNode}) => { + const {styles} = useStyles() + + return {children} +} + +const Container = ({children}: {children: React.ReactNode}) => { + const {styles} = useStyles() + return {children} +} + +const TokenList = ({assetList}: {assetList: PortfolioTokenBalances['fts'] | PortfolioTokenBalances['nfts']}) => { + const {styles} = useStyles() + + return ( + } + showsHorizontalScrollIndicator={false} + keyExtractor={(item) => item.info.id} + renderItem={({item}) => } + /> + ) +} + +const useStyles = () => { + const {atoms, color} = useTheme() + + const styles = StyleSheet.create({ + root: { + ...atoms.flex_1, + }, + container: { + ...atoms.align_center, + }, + walletChecksum: { + height: 80, + width: 80, + }, + name: { + ...atoms.body_1_lg_medium, + color: color.text_gray_medium, + }, + plate: { + ...atoms.body_2_md_regular, + color: color.text_gray_low, + }, + squares: { + ...atoms.w_full, + ...atoms.flex_1, + ...atoms.flex_row, + ...atoms.px_lg, + }, + square: { + ...atoms.rounded_sm, + ...atoms.flex_1, + ...atoms.border, + ...atoms.p_lg, + borderColor: color.gray_200, + aspectRatio: 1, + }, + squareTitle: { + ...atoms.body_1_lg_medium, + color: color.text_gray_medium, + }, + squareCount: { + ...atoms.heading_1_medium, + color: color.text_gray_max, + }, + assetList: { + maxHeight: 40, + }, + }) + + const colors = { + copy: color.gray_900, + } + + return {styles, colors} as const +} diff --git a/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useStrings.tsx b/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useStrings.tsx index 70a38569af..0e34dca8b1 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useStrings.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useStrings.tsx @@ -44,6 +44,9 @@ export const useStrings = () => { description: intl.formatMessage(messages.description), details: intl.formatMessage(messages.details), tokenDetailsTitle: intl.formatMessage(messages.tokenDetailsTitle), + walletBalanceTitle: intl.formatMessage(messages.walletBalanceTitle), + walletBalanceTokensTitle: intl.formatMessage(messages.walletBalanceTokensTitle), + walletBalanceNFTsTitle: intl.formatMessage(messages.walletBalanceNFTsTitle), poolDetailsTitle: intl.formatMessage(messages.poolDetailsTitle), registerStakingKey: intl.formatMessage(messages.registerStakingKey), selectAbstain: intl.formatMessage(messages.selectAbstain), @@ -211,6 +214,18 @@ const messages = defineMessages({ id: 'txReview.tokenDetails.title', defaultMessage: '!!!Asset Details', }, + walletBalanceTitle: { + id: 'txReview.walletBalance.title', + defaultMessage: '!!!Wallet balance', + }, + walletBalanceTokensTitle: { + id: 'txReview.walletBalanceTokens.title', + defaultMessage: '!!!Tokens', + }, + walletBalanceNFTsTitle: { + id: 'txReview.walletBalanceNFTs.title', + defaultMessage: '!!!NFTs', + }, poolDetailsTitle: { id: 'txReview.poolDetails.title', defaultMessage: '!!!Pool Details', diff --git a/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/Overview/OverviewTab.tsx b/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/Overview/OverviewTab.tsx index 640a2783eb..bee56b4521 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/Overview/OverviewTab.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/Overview/OverviewTab.tsx @@ -4,7 +4,7 @@ import {CredKind} from '@emurgo/cross-csl-core' import {Blockies} from '@yoroi/identicon' import {useTheme} from '@yoroi/theme' import * as React from 'react' -import {Linking, StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {Linking, StyleSheet, Text, TouchableOpacity, useWindowDimensions, View} from 'react-native' import {Divider} from '../../../../../components/Divider/Divider' import {Icon} from '../../../../../components/Icon' @@ -21,6 +21,7 @@ import {useOperations} from '../../../common/operations' import {ReviewTxState, useReviewTx} from '../../../common/ReviewTxProvider' import {TokenItem} from '../../../common/TokenItem' import {FormattedOutputs, FormattedTx} from '../../../common/types' +import {WalletBalance} from '../../../common/WalletBalance' export const OverviewTab = ({ tx, @@ -58,8 +59,18 @@ const WalletInfoSection = ({tx}: {tx: FormattedTx}) => { const strings = useStrings() const {wallet, meta} = useSelectedWallet() const {walletManager} = useWalletManager() + const {openModal} = useModal() const {plate, seed} = walletManager.checksum(wallet.publicKeyHex) const seedImage = new Blockies({seed}).asBase64() + const {height: windowHeight} = useWindowDimensions() + + const handleShowWalletBalance = () => { + openModal( + strings.walletBalanceTitle, + , + windowHeight * 0.8, + ) + } return ( <> @@ -71,7 +82,9 @@ const WalletInfoSection = ({tx}: {tx: FormattedTx}) => { - {`${plate} | ${meta.name}`} + + {`${plate} | ${meta.name}`} + diff --git a/apps/wallet-mobile/src/kernel/i18n/locales/en-US.json b/apps/wallet-mobile/src/kernel/i18n/locales/en-US.json index 4c60068fb9..d3c29f6dfe 100644 --- a/apps/wallet-mobile/src/kernel/i18n/locales/en-US.json +++ b/apps/wallet-mobile/src/kernel/i18n/locales/en-US.json @@ -1256,6 +1256,7 @@ "txReview.tokenDetails.overViewTab.description.label": "Description", "txReview.tokenDetails.overViewTab.details.label": "Details on", "txReview.tokenDetails.title": "Asset Details", + "txReview.walletBalance.title": "Wallet balance", "txReview.poolDetails.title": "Pool Details", "txReview.operations.registerStakingKey": "Register staking key deposit", "txReview.operations.deregisterStakingKey": "Deregister staking key", @@ -1270,5 +1271,7 @@ "txReview.submittedTxButton": "Go to transactions", "txReview.failedTxTitle": "Transaction failed", "txReview.failedTxText": "Your transaction has not been processed properly due to technical issues", - "txReview.failedTxButton": "Go to transactions" + "txReview.failedTxButton": "Go to transactions", + "txReview.walletBalanceTokens.title": "Tokens", + "txReview.walletBalanceNFTs.title": "NFTs" } diff --git a/apps/wallet-mobile/translations/messages/src/features/ReviewTx/common/hooks/useStrings.json b/apps/wallet-mobile/translations/messages/src/features/ReviewTx/common/hooks/useStrings.json index 155f975c28..a43c49ddad 100644 --- a/apps/wallet-mobile/translations/messages/src/features/ReviewTx/common/hooks/useStrings.json +++ b/apps/wallet-mobile/translations/messages/src/features/ReviewTx/common/hooks/useStrings.json @@ -4,14 +4,14 @@ "defaultMessage": "!!!Confirm", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 66, + "line": 69, "column": 11, - "index": 3528 + "index": 3767 }, "end": { - "line": 69, + "line": 72, "column": 3, - "index": 3595 + "index": 3834 } }, { @@ -19,14 +19,14 @@ "defaultMessage": "!!!UTxOs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 70, + "line": 73, "column": 9, - "index": 3606 + "index": 3845 }, "end": { - "line": 73, + "line": 76, "column": 3, - "index": 3669 + "index": 3908 } }, { @@ -34,14 +34,14 @@ "defaultMessage": "!!!UTxOs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 74, + "line": 77, "column": 12, - "index": 3683 + "index": 3922 }, "end": { - "line": 77, + "line": 80, "column": 3, - "index": 3755 + "index": 3994 } }, { @@ -49,14 +49,14 @@ "defaultMessage": "!!!Overview", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 78, + "line": 81, "column": 15, - "index": 3772 + "index": 4011 }, "end": { - "line": 81, + "line": 84, "column": 3, - "index": 3850 + "index": 4089 } }, { @@ -64,14 +64,14 @@ "defaultMessage": "!!!Metadata", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 82, + "line": 85, "column": 15, - "index": 3867 + "index": 4106 }, "end": { - "line": 85, + "line": 88, "column": 3, - "index": 3948 + "index": 4187 } }, { @@ -79,14 +79,14 @@ "defaultMessage": "!!!Metadata hash", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 86, + "line": 89, "column": 16, - "index": 3966 + "index": 4205 }, "end": { - "line": 89, + "line": 92, "column": 3, - "index": 4053 + "index": 4292 } }, { @@ -94,14 +94,14 @@ "defaultMessage": "!!!Metadata", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 90, + "line": 93, "column": 21, - "index": 4076 + "index": 4315 }, "end": { - "line": 93, + "line": 96, "column": 3, - "index": 4163 + "index": 4402 } }, { @@ -109,14 +109,14 @@ "defaultMessage": "!!!Wallet", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 94, + "line": 97, "column": 15, - "index": 4180 + "index": 4419 }, "end": { - "line": 97, + "line": 100, "column": 3, - "index": 4254 + "index": 4493 } }, { @@ -124,14 +124,14 @@ "defaultMessage": "!!!Fee", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 98, + "line": 101, "column": 12, - "index": 4268 + "index": 4507 }, "end": { - "line": 101, + "line": 104, "column": 3, - "index": 4327 + "index": 4566 } }, { @@ -139,14 +139,14 @@ "defaultMessage": "!!!Your Wallet", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 102, + "line": 105, "column": 17, - "index": 4346 + "index": 4585 }, "end": { - "line": 105, + "line": 108, "column": 3, - "index": 4432 + "index": 4671 } }, { @@ -154,14 +154,14 @@ "defaultMessage": "!!!Send", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 106, + "line": 109, "column": 13, - "index": 4447 + "index": 4686 }, "end": { - "line": 109, + "line": 112, "column": 3, - "index": 4522 + "index": 4761 } }, { @@ -169,14 +169,14 @@ "defaultMessage": "!!!To", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 110, + "line": 113, "column": 18, - "index": 4542 + "index": 4781 }, "end": { - "line": 113, + "line": 116, "column": 3, - "index": 4620 + "index": 4859 } }, { @@ -184,14 +184,14 @@ "defaultMessage": "!!!To script", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 114, + "line": 117, "column": 24, - "index": 4646 + "index": 4885 }, "end": { - "line": 117, + "line": 120, "column": 3, - "index": 4737 + "index": 4976 } }, { @@ -199,14 +199,14 @@ "defaultMessage": "!!!Inputs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 118, + "line": 121, "column": 20, - "index": 4759 + "index": 4998 }, "end": { - "line": 121, + "line": 124, "column": 3, - "index": 4840 + "index": 5079 } }, { @@ -214,14 +214,14 @@ "defaultMessage": "!!!Outputs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 122, + "line": 125, "column": 21, - "index": 4863 + "index": 5102 }, "end": { - "line": 125, + "line": 128, "column": 3, - "index": 4946 + "index": 5185 } }, { @@ -229,14 +229,14 @@ "defaultMessage": "!!!Your address", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 126, + "line": 129, "column": 25, - "index": 4973 + "index": 5212 }, "end": { - "line": 129, + "line": 132, "column": 3, - "index": 5065 + "index": 5304 } }, { @@ -244,14 +244,14 @@ "defaultMessage": "!!!Foreign address", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 130, + "line": 133, "column": 28, - "index": 5095 + "index": 5334 }, "end": { - "line": 133, + "line": 136, "column": 3, - "index": 5193 + "index": 5432 } }, { @@ -259,14 +259,14 @@ "defaultMessage": "!!!Overview", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 134, + "line": 137, "column": 12, - "index": 5207 + "index": 5446 }, "end": { - "line": 137, + "line": 140, "column": 3, - "index": 5298 + "index": 5537 } }, { @@ -274,14 +274,14 @@ "defaultMessage": "!!!JSON", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 138, + "line": 141, "column": 8, - "index": 5308 + "index": 5547 }, "end": { - "line": 141, + "line": 144, "column": 3, - "index": 5391 + "index": 5630 } }, { @@ -289,14 +289,14 @@ "defaultMessage": "!!!Metadata", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 142, + "line": 145, "column": 12, - "index": 5405 + "index": 5644 }, "end": { - "line": 145, + "line": 148, "column": 3, - "index": 5495 + "index": 5734 } }, { @@ -304,14 +304,14 @@ "defaultMessage": "!!!Policy ID", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 146, + "line": 149, "column": 12, - "index": 5509 + "index": 5748 }, "end": { - "line": 149, + "line": 152, "column": 3, - "index": 5598 + "index": 5837 } }, { @@ -319,14 +319,14 @@ "defaultMessage": "!!!Pool ID", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 150, + "line": 153, "column": 10, - "index": 5610 + "index": 5849 }, "end": { - "line": 153, + "line": 156, "column": 3, - "index": 5694 + "index": 5933 } }, { @@ -334,14 +334,14 @@ "defaultMessage": "!!!Hash", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 154, + "line": 157, "column": 12, - "index": 5708 + "index": 5947 }, "end": { - "line": 157, + "line": 160, "column": 3, - "index": 5791 + "index": 6030 } }, { @@ -349,14 +349,14 @@ "defaultMessage": "!!!Pool size", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 158, + "line": 161, "column": 12, - "index": 5805 + "index": 6044 }, "end": { - "line": 161, + "line": 164, "column": 3, - "index": 5893 + "index": 6132 } }, { @@ -364,14 +364,14 @@ "defaultMessage": "!!!ROA 30d", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 162, + "line": 165, "column": 11, - "index": 5906 + "index": 6145 }, "end": { - "line": 165, + "line": 168, "column": 3, - "index": 5991 + "index": 6230 } }, { @@ -379,14 +379,14 @@ "defaultMessage": "!!!Share", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 166, + "line": 169, "column": 13, - "index": 6006 + "index": 6245 }, "end": { - "line": 169, + "line": 172, "column": 3, - "index": 6091 + "index": 6330 } }, { @@ -394,14 +394,14 @@ "defaultMessage": "!!!Saturation", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 170, + "line": 173, "column": 18, - "index": 6111 + "index": 6350 }, "end": { - "line": 173, + "line": 176, "column": 3, - "index": 6206 + "index": 6445 } }, { @@ -409,14 +409,14 @@ "defaultMessage": "!!!Tax fix", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 174, + "line": 177, "column": 14, - "index": 6222 + "index": 6461 }, "end": { - "line": 177, + "line": 180, "column": 3, - "index": 6306 + "index": 6545 } }, { @@ -424,14 +424,14 @@ "defaultMessage": "!!!Tax ratio", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 178, + "line": 181, "column": 16, - "index": 6324 + "index": 6563 }, "end": { - "line": 181, + "line": 184, "column": 3, - "index": 6412 + "index": 6651 } }, { @@ -439,14 +439,14 @@ "defaultMessage": "!!!Pledge", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 182, + "line": 185, "column": 14, - "index": 6428 + "index": 6667 }, "end": { - "line": 185, + "line": 188, "column": 3, - "index": 6511 + "index": 6750 } }, { @@ -454,14 +454,14 @@ "defaultMessage": "!!!Fingerprint", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 186, + "line": 189, "column": 15, - "index": 6528 + "index": 6767 }, "end": { - "line": 189, + "line": 192, "column": 3, - "index": 6622 + "index": 6861 } }, { @@ -469,14 +469,14 @@ "defaultMessage": "!!!Name", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 190, + "line": 193, "column": 8, - "index": 6632 + "index": 6871 }, "end": { - "line": 193, + "line": 196, "column": 3, - "index": 6724 + "index": 6963 } }, { @@ -484,14 +484,14 @@ "defaultMessage": "!!!Token Supply", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 194, + "line": 197, "column": 15, - "index": 6741 + "index": 6980 }, "end": { - "line": 197, + "line": 200, "column": 3, - "index": 6848 + "index": 7087 } }, { @@ -499,14 +499,14 @@ "defaultMessage": "!!!Symbol", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 198, + "line": 201, "column": 10, - "index": 6860 + "index": 7099 }, "end": { - "line": 201, + "line": 204, "column": 3, - "index": 6956 + "index": 7195 } }, { @@ -514,14 +514,14 @@ "defaultMessage": "!!!Description", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 202, + "line": 205, "column": 15, - "index": 6973 + "index": 7212 }, "end": { - "line": 205, + "line": 208, "column": 3, - "index": 7079 + "index": 7318 } }, { @@ -529,14 +529,14 @@ "defaultMessage": "!!!Details on", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 206, + "line": 209, "column": 11, - "index": 7092 + "index": 7331 }, "end": { - "line": 209, + "line": 212, "column": 3, - "index": 7193 + "index": 7432 } }, { @@ -544,14 +544,59 @@ "defaultMessage": "!!!Asset Details", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 210, + "line": 213, "column": 21, - "index": 7216 + "index": 7455 }, "end": { - "line": 213, + "line": 216, "column": 3, - "index": 7300 + "index": 7539 + } + }, + { + "id": "txReview.walletBalance.title", + "defaultMessage": "!!!Wallet balance", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 217, + "column": 22, + "index": 7563 + }, + "end": { + "line": 220, + "column": 3, + "index": 7649 + } + }, + { + "id": "txReview.walletBalanceTokens.title", + "defaultMessage": "!!!Tokens", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 221, + "column": 28, + "index": 7679 + }, + "end": { + "line": 224, + "column": 3, + "index": 7763 + } + }, + { + "id": "txReview.walletBalanceNFTs.title", + "defaultMessage": "!!!NFTs", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 225, + "column": 26, + "index": 7791 + }, + "end": { + "line": 228, + "column": 3, + "index": 7871 } }, { @@ -559,14 +604,14 @@ "defaultMessage": "!!!Pool Details", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 214, + "line": 229, "column": 20, - "index": 7322 + "index": 7893 }, "end": { - "line": 217, + "line": 232, "column": 3, - "index": 7404 + "index": 7975 } }, { @@ -574,14 +619,14 @@ "defaultMessage": "!!!Register staking key deposit", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 218, + "line": 233, "column": 22, - "index": 7428 + "index": 7999 }, "end": { - "line": 221, + "line": 236, "column": 3, - "index": 7538 + "index": 8109 } }, { @@ -589,14 +634,14 @@ "defaultMessage": "!!!Deregister staking key", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 222, + "line": 237, "column": 24, - "index": 7564 + "index": 8135 }, "end": { - "line": 225, + "line": 240, "column": 3, - "index": 7670 + "index": 8241 } }, { @@ -604,14 +649,14 @@ "defaultMessage": "!!!Staking", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 226, + "line": 241, "column": 26, - "index": 7698 + "index": 8269 }, "end": { - "line": 229, + "line": 244, "column": 3, - "index": 7792 + "index": 8363 } }, { @@ -619,14 +664,14 @@ "defaultMessage": "!!!Rewards withdrawal", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 230, + "line": 245, "column": 25, - "index": 7819 + "index": 8390 }, "end": { - "line": 233, + "line": 248, "column": 3, - "index": 7923 + "index": 8494 } }, { @@ -634,14 +679,14 @@ "defaultMessage": "!!!Select abstain", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 234, + "line": 249, "column": 17, - "index": 7942 + "index": 8513 }, "end": { - "line": 237, + "line": 252, "column": 3, - "index": 8033 + "index": 8604 } }, { @@ -649,14 +694,14 @@ "defaultMessage": "!!!Select no confidence", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 238, + "line": 253, "column": 22, - "index": 8057 + "index": 8628 }, "end": { - "line": 241, + "line": 256, "column": 3, - "index": 8159 + "index": 8730 } }, { @@ -664,14 +709,14 @@ "defaultMessage": "!!!Delegate voting to", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 242, + "line": 257, "column": 24, - "index": 8185 + "index": 8756 }, "end": { - "line": 245, + "line": 260, "column": 3, - "index": 8287 + "index": 8858 } }, { @@ -679,14 +724,14 @@ "defaultMessage": "!!!Stake entire wallet balance to", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 246, + "line": 261, "column": 17, - "index": 8306 + "index": 8877 }, "end": { - "line": 249, + "line": 264, "column": 3, - "index": 8413 + "index": 8984 } }, { @@ -694,14 +739,14 @@ "defaultMessage": "!!!Transaction submitted", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 250, + "line": 265, "column": 20, - "index": 8435 + "index": 9006 }, "end": { - "line": 253, + "line": 268, "column": 3, - "index": 8525 + "index": 9096 } }, { @@ -709,14 +754,14 @@ "defaultMessage": "!!!Check this transaction in the list of wallet transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 254, + "line": 269, "column": 19, - "index": 8546 + "index": 9117 }, "end": { - "line": 257, + "line": 272, "column": 3, - "index": 8671 + "index": 9242 } }, { @@ -724,14 +769,14 @@ "defaultMessage": "!!!Go to transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 258, + "line": 273, "column": 21, - "index": 8694 + "index": 9265 }, "end": { - "line": 261, + "line": 276, "column": 3, - "index": 8782 + "index": 9353 } }, { @@ -739,14 +784,14 @@ "defaultMessage": "!!!Transaction failed", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 262, + "line": 277, "column": 17, - "index": 8801 + "index": 9372 }, "end": { - "line": 265, + "line": 280, "column": 3, - "index": 8885 + "index": 9456 } }, { @@ -754,14 +799,14 @@ "defaultMessage": "!!!Your transaction has not been processed properly due to technical issues", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 266, + "line": 281, "column": 16, - "index": 8903 + "index": 9474 }, "end": { - "line": 269, + "line": 284, "column": 3, - "index": 9040 + "index": 9611 } }, { @@ -769,14 +814,14 @@ "defaultMessage": "!!!Go to transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 270, + "line": 285, "column": 18, - "index": 9060 + "index": 9631 }, "end": { - "line": 273, + "line": 288, "column": 3, - "index": 9145 + "index": 9716 } } ] \ No newline at end of file