From 6d766f51384b93cb09345287d6252b494b3cc7d1 Mon Sep 17 00:00:00 2001 From: banklesss <105349292+banklesss@users.noreply.github.com> Date: Sun, 17 Nov 2024 07:07:14 +0100 Subject: [PATCH 1/3] feature(wallet-mobile): new tx review update operations (#3737) Signed-off-by: banklesss <105349292+banklesss@users.noreply.github.com> Co-authored-by: Michal --- .../Discover/useDappConnectorManager.tsx | 10 +- .../ReviewTx/common/ReviewTxProvider.tsx | 44 +- .../ReviewTx/common/hooks/useStrings.tsx | 40 ++ .../ReviewTx/common/hooks/useTxBody.tsx | 4 + .../features/ReviewTx/common/operations.tsx | 149 +++- .../src/features/ReviewTx/common/types.ts | 34 +- .../ReviewTx/Overview/OverviewTab.tsx | 2 +- .../ReviewTxScreen/ReviewTxScreen.tsx | 8 +- .../src/kernel/i18n/locales/en-US.json | 8 + apps/wallet-mobile/src/kernel/navigation.tsx | 1 + .../src/yoroi-wallets/hooks/index.ts | 1 + .../ReviewTx/common/hooks/useStrings.json | 648 +++++++++++------- 12 files changed, 624 insertions(+), 325 deletions(-) diff --git a/apps/wallet-mobile/src/features/Discover/useDappConnectorManager.tsx b/apps/wallet-mobile/src/features/Discover/useDappConnectorManager.tsx index daa12d3788..d91b1293d1 100644 --- a/apps/wallet-mobile/src/features/Discover/useDappConnectorManager.tsx +++ b/apps/wallet-mobile/src/features/Discover/useDappConnectorManager.tsx @@ -8,7 +8,6 @@ import {useMutation} from 'react-query' import {logger} from '../../kernel/logger/logger' import {useWalletNavigation} from '../../kernel/navigation' import {cip30LedgerExtensionMaker} from '../../yoroi-wallets/cardano/cip30/cip30-ledger' -import {useReviewTx} from '../ReviewTx/common/ReviewTxProvider' import {CreatedByInfoItem} from '../ReviewTx/useCases/ReviewTxScreen/ReviewTx/Overview/OverviewTab' import {useSelectedWallet} from '../WalletManager/common/hooks/useSelectedWallet' import {useBrowser} from './common/BrowserProvider' @@ -27,7 +26,6 @@ export const useDappConnectorManager = () => { const navigateTo = useNavigateTo() const {wallet, meta} = useSelectedWallet() const {navigateToTxReview} = useWalletNavigation() - const {cborChanged} = useReviewTx() const {tabs, tabActiveIndex} = useBrowser() const activeTab = tabs[tabActiveIndex] const activeTabUrl = activeTab?.url @@ -45,11 +43,11 @@ export const useDappConnectorManager = () => { ({cbor, manager}: {cbor: string; manager: DappConnector}) => { return new Promise((resolve, reject) => { let shouldResolve = true - cborChanged(cbor) return manager.getDAppList().then(({dapps}) => { const matchingDapp = activeTabOrigin != null ? dapps.find((dapp) => dapp.origins.includes(activeTabOrigin)) : null navigateToTxReview({ + cbor, createdBy: matchingDapp != null && , onConfirm: async () => { if (!shouldResolve) return @@ -67,18 +65,18 @@ export const useDappConnectorManager = () => { }) }) }, - [activeTabOrigin, cborChanged, navigateToTxReview, promptRootKey, navigateTo], + [activeTabOrigin, navigateToTxReview, promptRootKey, navigateTo], ) const handleSignTxWithHW = React.useCallback( ({cbor, partial, manager}: {cbor: string; partial?: boolean; manager: DappConnector}) => { return new Promise((resolve, reject) => { let shouldResolve = true - cborChanged(cbor) return manager.getDAppList().then(({dapps}) => { const matchingDapp = activeTabOrigin != null ? dapps.find((dapp) => dapp.origins.includes(activeTabOrigin)) : null navigateToTxReview({ + cbor, createdBy: matchingDapp != null && , onConfirm: () => { if (!shouldResolve) return @@ -104,7 +102,7 @@ export const useDappConnectorManager = () => { }) }) }, - [activeTabOrigin, cborChanged, navigateToTxReview, navigateTo, signTxWithHW], + [activeTabOrigin, navigateToTxReview, navigateTo, signTxWithHW], ) return React.useMemo( diff --git a/apps/wallet-mobile/src/features/ReviewTx/common/ReviewTxProvider.tsx b/apps/wallet-mobile/src/features/ReviewTx/common/ReviewTxProvider.tsx index 7c0a71614f..53a9bcc293 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/common/ReviewTxProvider.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/common/ReviewTxProvider.tsx @@ -1,3 +1,12 @@ +/** + * DEPRECATED: This provider needs to be maintained because unsignedTx + * can change during the CATALYST registration funnel (CIP36) + * + * will be eliminated in the very near future + * + * TODO: eliminate the use of unsigned tx entirely + */ + import {castDraft, produce} from 'immer' import _ from 'lodash' import React from 'react' @@ -21,8 +30,6 @@ export const ReviewTxProvider = ({ const actions = React.useRef({ unsignedTxChanged: (unsignedTx: ReviewTxState['unsignedTx']) => dispatch({type: ReviewTxActionType.UnsignedTxChanged, unsignedTx}), - cborChanged: (cbor: ReviewTxState['cbor']) => dispatch({type: ReviewTxActionType.CborChanged, cbor}), - reset: () => dispatch({type: ReviewTxActionType.Reset}), }).current const context = React.useMemo( @@ -43,48 +50,27 @@ const reviewTxReducer = (state: ReviewTxState, action: ReviewTxAction) => { draft.unsignedTx = castDraft(action.unsignedTx) break - case ReviewTxActionType.CborChanged: - draft.cbor = action.cbor - break - - case ReviewTxActionType.Reset: - draft.unsignedTx = castDraft(defaultState.unsignedTx) - draft.cbor = defaultState.cbor - break - default: throw new Error('[ReviewTxContext] invalid action') } }) } -type ReviewTxAction = - | { - type: ReviewTxActionType.UnsignedTxChanged - unsignedTx: ReviewTxState['unsignedTx'] - } - | { - type: ReviewTxActionType.CborChanged - cbor: ReviewTxState['cbor'] - } - | { - type: ReviewTxActionType.Reset - } +type ReviewTxAction = { + type: ReviewTxActionType.UnsignedTxChanged + unsignedTx: ReviewTxState['unsignedTx'] +} export type ReviewTxState = { unsignedTx: YoroiUnsignedTx | null - cbor: string | null } type ReviewTxActions = { unsignedTxChanged: (unsignedTx: ReviewTxState['unsignedTx']) => void - cborChanged: (cbor: ReviewTxState['cbor']) => void - reset: () => void } const defaultState: ReviewTxState = Object.freeze({ unsignedTx: null, - cbor: null, }) function missingInit() { @@ -94,14 +80,10 @@ function missingInit() { const initialReviewTxContext: ReviewTxContext = { ...defaultState, unsignedTxChanged: missingInit, - cborChanged: missingInit, - reset: missingInit, } enum ReviewTxActionType { UnsignedTxChanged = 'unsignedTxChanged', - CborChanged = 'cborChanged', - Reset = 'reset', } type ReviewTxContext = ReviewTxState & ReviewTxActions 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 ef43a82cf4..3caba7d7ec 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useStrings.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useStrings.tsx @@ -51,6 +51,14 @@ export const useStrings = () => { walletBalanceNFTsTitle: intl.formatMessage(messages.walletBalanceNFTsTitle), poolDetailsTitle: intl.formatMessage(messages.poolDetailsTitle), registerStakingKey: intl.formatMessage(messages.registerStakingKey), + poolRegistration: intl.formatMessage(messages.poolRegistration), + poolRetirement: intl.formatMessage(messages.poolRetirement), + moveInstantaneousRewards: intl.formatMessage(messages.moveInstantaneousRewards), + committeeHotAuthorization: intl.formatMessage(messages.committeeHotAuthorization), + committeeColdResign: intl.formatMessage(messages.committeeColdResign), + drepUpdate: intl.formatMessage(messages.drepUpdate), + drepRegistration: intl.formatMessage(messages.drepRegistration), + drepDeregistration: intl.formatMessage(messages.drepDeregistration), selectAbstain: intl.formatMessage(messages.selectAbstain), selectNoConfidence: intl.formatMessage(messages.selectNoConfidence), delegateVotingToDRep: intl.formatMessage(messages.delegateVotingToDRep), @@ -253,10 +261,42 @@ const messages = defineMessages({ id: 'txReview.operations.registerStakingKey', defaultMessage: '!!!Register staking key deposit', }, + drepRegistration: { + id: 'txReview.operations.drepRegistration', + defaultMessage: '!!!Register as a DRep deposit', + }, + poolRegistration: { + id: 'txReview.operations.poolRegistration', + defaultMessage: '!!!Pool registration deposit', + }, + poolRetirement: { + id: 'txReview.operations.poolRetirement', + defaultMessage: '!!!Pool retirement', + }, + drepUpdate: { + id: 'txReview.operations.drepUpdate', + defaultMessage: '!!!Drep update', + }, + drepDeregistration: { + id: 'txReview.operations.drepDeregistration', + defaultMessage: '!!!Deregister as a DRep', + }, deregisterStakingKey: { id: 'txReview.operations.deregisterStakingKey', defaultMessage: '!!!Deregister staking key', }, + moveInstantaneousRewards: { + id: 'txReview.operations.moveInstantaneousRewards', + defaultMessage: '!!!Move instantaneus rewards', + }, + committeeHotAuthorization: { + id: 'txReview.operations.committeeHotAuthorization', + defaultMessage: '!!!Committee hot authorization', + }, + committeeColdResign: { + id: 'txReview.operations.committeeColdResign', + defaultMessage: '!!!Committee cold resign', + }, rewardsWithdrawalLabel: { id: 'txReview.operations.rewardsWithdrawal.label', defaultMessage: '!!!Staking', diff --git a/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useTxBody.tsx b/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useTxBody.tsx index 57994a9d79..e8d007998f 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useTxBody.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/common/hooks/useTxBody.tsx @@ -14,6 +14,10 @@ export const useTxBody = ({ const query = useQuery( ['useTxBody', cbor, unsignedTx], async () => { + // ORDER IS IMPORTANT + // cbor comes from navigation params and unsigned tx from provider + // Reason is unsignedTx can change during the CATALYST registration funnel (CIP36) + // TODO: eliminate the use of unsigned tx entirely if (cbor != undefined) { return getCborTxBody(cbor) } else if (unsignedTx != undefined) { diff --git a/apps/wallet-mobile/src/features/ReviewTx/common/operations.tsx b/apps/wallet-mobile/src/features/ReviewTx/common/operations.tsx index 3f19f85b1f..6fc9eaa6a2 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/common/operations.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/common/operations.tsx @@ -57,7 +57,7 @@ export const StakeRewardsWithdrawalOperation = () => { ) } -export const StakeDelegateOperation = ({poolId}: {poolId: string}) => { +export const StakeDelegationOperation = ({poolId}: {poolId: string}) => { const {styles} = useStyles() const strings = useStrings() const poolInfo = usePoolInfo({poolId}) @@ -126,6 +126,101 @@ export const VoteDelegationOperation = ({drepID}: {drepID: string}) => { ) } +export const DrepRegistrationOperation = ({fee}: {fee: Balance.Quantity}) => { + const {styles} = useStyles() + const strings = useStrings() + const {wallet} = useSelectedWallet() + + return ( + + {strings.drepRegistration} + + + + {formatTokenWithText(fee, wallet.portfolioPrimaryTokenInfo)} + + ) +} + +export const DrepDeregistrationOperation = () => { + const {styles} = useStyles() + const strings = useStrings() + + return ( + + {strings.drepDeregistration} + + ) +} + +export const PoolRegistrationOperation = ({fee}: {fee: Balance.Quantity}) => { + const {styles} = useStyles() + const strings = useStrings() + const {wallet} = useSelectedWallet() + + return ( + + {strings.poolRegistration} + + + + {formatTokenWithText(fee, wallet.portfolioPrimaryTokenInfo)} + + ) +} + +export const PoolRetirementOperation = () => { + const {styles} = useStyles() + const strings = useStrings() + + return ( + + {strings.poolRetirement} + + ) +} +export const DrepUpdateOperation = () => { + const {styles} = useStyles() + const strings = useStrings() + + return ( + + {strings.drepUpdate} + + ) +} +export const MoveInstantaneousRewardsOperation = () => { + const {styles} = useStyles() + const strings = useStrings() + + return ( + + {strings.moveInstantaneousRewards} + + ) +} +export const CommitteeHotAuthorizationOperation = () => { + const {styles} = useStyles() + const strings = useStrings() + + return ( + + {strings.committeeHotAuthorization} + + ) +} + +export const CommitteeColdResignOperation = () => { + const {styles} = useStyles() + const strings = useStrings() + + return ( + + {strings.committeeColdResign} + + ) +} + export const useOperations = (certificates: FormattedTx['certificates']) => { const {wallet} = useSelectedWallet() if (certificates === null) return {components: [], totalFee: Quantities.zero} @@ -148,7 +243,7 @@ export const useOperations = (certificates: FormattedTx['certificates']) => { const poolKeyHash = certificate.value.pool_keyhash ?? null if (poolKeyHash == null) return acc return { - components: [...acc.components, ], + components: [...acc.components, ], totalFee: acc.totalFee, } } @@ -168,6 +263,55 @@ export const useOperations = (certificates: FormattedTx['certificates']) => { } } + case CertificateType.DRepRegistration: { + const fee = asQuantity(wallet.protocolParams.keyDeposit) + return { + components: [...acc.components, ], + totalFee: Quantities.sum([fee, acc.totalFee]), + } + } + + case CertificateType.DRepDeregistration: { + return {components: [...acc.components, ], totalFee: acc.totalFee} + } + + case CertificateType.PoolRegistration: { + const fee = asQuantity(wallet.protocolParams.poolDeposit) + return { + components: [...acc.components, ], + totalFee: Quantities.sum([fee, acc.totalFee]), + } + } + + case CertificateType.PoolRetirement: { + return {components: [...acc.components, ], totalFee: acc.totalFee} + } + + case CertificateType.DRepUpdate: { + return {components: [...acc.components, ], totalFee: acc.totalFee} + } + + case CertificateType.MoveInstantaneousRewardsCert: { + return { + components: [...acc.components, ], + totalFee: acc.totalFee, + } + } + + case CertificateType.CommitteeHotAuth: { + return { + components: [...acc.components, ], + totalFee: acc.totalFee, + } + } + + case CertificateType.CommitteeColdResign: { + return { + components: [...acc.components, ], + totalFee: acc.totalFee, + } + } + default: return acc } @@ -190,6 +334,7 @@ export const useDrepBech32Id = (poolId: string) => { const query = useQuery({ queryKey: ['drepBech32', poolId], queryFn: () => getDrepBech32Id(poolId), + suspense: true, }) return query?.data ?? null diff --git a/apps/wallet-mobile/src/features/ReviewTx/common/types.ts b/apps/wallet-mobile/src/features/ReviewTx/common/types.ts index 6753585834..df68dc95cf 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/common/types.ts +++ b/apps/wallet-mobile/src/features/ReviewTx/common/types.ts @@ -82,23 +82,23 @@ type Transformed = { export type FormattedCertificate = Transformed export const CertificateType = { - StakeRegistration: 'StakeRegistration', - StakeDeregistration: 'StakeDeregistration', - StakeDelegation: 'StakeDelegation', - PoolRegistration: 'PoolRegistration', - PoolRetirement: 'PoolRetirement', - GenesisKeyDelegation: 'GenesisKeyDelegation', - MoveInstantaneousRewardsCert: 'MoveInstantaneousRewardsCert', - CommitteeHotAuth: 'CommitteeHotAuth', - CommitteeColdResign: 'CommitteeColdResign', - DRepDeregistration: 'DRepDeregistration', - DRepRegistration: 'DRepRegistration', - DRepUpdate: 'DRepUpdate', - StakeAndVoteDelegation: 'StakeAndVoteDelegation', - StakeRegistrationAndDelegation: 'StakeRegistrationAndDelegation', - StakeVoteRegistrationAndDelegation: 'StakeVoteRegistrationAndDelegation', - VoteDelegation: 'VoteDelegation', - VoteRegistrationAndDelegation: 'VoteRegistrationAndDelegation', + StakeRegistration: 'StakeRegistration', // + StakeDeregistration: 'StakeDeregistration', // + StakeDelegation: 'StakeDelegation', // + PoolRegistration: 'PoolRegistration', // + PoolRetirement: 'PoolRetirement', // + GenesisKeyDelegation: 'GenesisKeyDelegation', // + MoveInstantaneousRewardsCert: 'MoveInstantaneousRewardsCert', // + CommitteeHotAuth: 'CommitteeHotAuth', // + CommitteeColdResign: 'CommitteeColdResign', // + DRepDeregistration: 'DRepDeregistration', // + DRepRegistration: 'DRepRegistration', // + DRepUpdate: 'DRepUpdate', // + VoteDelegation: 'VoteDelegation', // + StakeAndVoteDelegation: 'StakeAndVoteDelegation', // NO + StakeRegistrationAndDelegation: 'StakeRegistrationAndDelegation', // NO + StakeVoteRegistrationAndDelegation: 'StakeVoteRegistrationAndDelegation', // NO + VoteRegistrationAndDelegation: 'VoteRegistrationAndDelegation', // NO } as const export type CerificateType = (typeof CertificateType)[keyof typeof CertificateType] diff --git a/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTx/Overview/OverviewTab.tsx b/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTx/Overview/OverviewTab.tsx index e7386fe94f..26a15bbb65 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTx/Overview/OverviewTab.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTx/Overview/OverviewTab.tsx @@ -205,7 +205,7 @@ const MyWalletTokens = ({ - + {notPrimaryTokenSent.map((token, index) => ( diff --git a/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTxScreen.tsx b/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTxScreen.tsx index e0a903040f..4f8b1e4623 100644 --- a/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTxScreen.tsx +++ b/apps/wallet-mobile/src/features/ReviewTx/useCases/ReviewTxScreen/ReviewTxScreen.tsx @@ -9,10 +9,10 @@ import {useReviewTx} from '../../common/ReviewTxProvider' import {ReviewTx} from './ReviewTx/ReviewTx' export const ReviewTxScreen = () => { - const {unsignedTx, cbor} = useReviewTx() + const {unsignedTx} = useReviewTx() const params = useUnsafeParams() - if (unsignedTx == null && cbor == null) throw new Error('ReviewTxScreen: missing cbor and unsignedTx') + if (unsignedTx == null && params?.cbor == null) throw new Error('ReviewTxScreen: missing cbor and unsignedTx') const {onConfirm} = useOnConfirm({ unsignedTx, @@ -22,9 +22,9 @@ export const ReviewTxScreen = () => { onCIP36SupportChange: params?.onCIP36SupportChange, }) - const txBody = useTxBody({cbor, unsignedTx}) + const txBody = useTxBody({cbor: params?.cbor, unsignedTx}) const formattedTx = useFormattedTx(txBody) - const formattedMetadata = useFormattedMetadata({txBody, unsignedTx, cbor}) + const formattedMetadata = useFormattedMetadata({txBody, unsignedTx, cbor: params?.cbor ?? null}) React.useEffect(() => { return () => { 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 48229f5bef..d1973dfbf3 100644 --- a/apps/wallet-mobile/src/kernel/i18n/locales/en-US.json +++ b/apps/wallet-mobile/src/kernel/i18n/locales/en-US.json @@ -1260,7 +1260,15 @@ "txReview.walletBalance.title": "Wallet balance", "txReview.poolDetails.title": "Pool Details", "txReview.operations.registerStakingKey": "Register staking key deposit", + "txReview.operations.drepRegistration": "Register as a DRep deposit", + "txReview.operations.drepDeregistration": "Deregister as a DRep", "txReview.operations.deregisterStakingKey": "Deregister staking key", + "txReview.operations.poolRegistration": "Pool registration deposit", + "txReview.operations.poolRetirement": "Pool retirement", + "txReview.operations.drepUpdate": "Drep update", + "txReview.operations.moveInstantaneousRewards": "Move instantaneus rewards", + "txReview.operations.committeeHotAuthorization": "Committee hot authorization", + "txReview.operations.committeeColdResign": "Committee cold resign", "txReview.operations.rewardsWithdrawal.label": "Staking", "txReview.operations.rewardsWithdrawal.text": "Rewards withdrawal", "txReview.operations.selectAbstain": "Select abstain", diff --git a/apps/wallet-mobile/src/kernel/navigation.tsx b/apps/wallet-mobile/src/kernel/navigation.tsx index cdce47ab8b..f15671aedd 100644 --- a/apps/wallet-mobile/src/kernel/navigation.tsx +++ b/apps/wallet-mobile/src/kernel/navigation.tsx @@ -275,6 +275,7 @@ export type PortfolioRoutes = { export type ReviewTxRoutes = { 'review-tx'?: { + cbor?: string operations?: Array receiverCustomTitle?: React.ReactNode details?: {title: string; component: React.ReactNode} diff --git a/apps/wallet-mobile/src/yoroi-wallets/hooks/index.ts b/apps/wallet-mobile/src/yoroi-wallets/hooks/index.ts index b4b8859a65..8f88e8112d 100644 --- a/apps/wallet-mobile/src/yoroi-wallets/hooks/index.ts +++ b/apps/wallet-mobile/src/yoroi-wallets/hooks/index.ts @@ -715,6 +715,7 @@ export const usePoolInfo = ({poolId}: {poolId: string}): FullPoolInfo => { queryFn: async () => { return poolInfoApi.getSingleFullPoolInfo(poolId) }, + suspense: true, }) return poolInfo?.data ?? {chain: null, explorer: null} 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 78981973fb..342f611128 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": 80, + "line": 88, "column": 11, - "index": 4602 + "index": 5182 }, "end": { - "line": 83, + "line": 91, "column": 3, - "index": 4669 + "index": 5249 } }, { @@ -19,14 +19,14 @@ "defaultMessage": "!!!UTxOs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 84, + "line": 92, "column": 9, - "index": 4680 + "index": 5260 }, "end": { - "line": 87, + "line": 95, "column": 3, - "index": 4743 + "index": 5323 } }, { @@ -34,14 +34,14 @@ "defaultMessage": "!!!UTxOs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 88, + "line": 96, "column": 12, - "index": 4757 + "index": 5337 }, "end": { - "line": 91, + "line": 99, "column": 3, - "index": 4829 + "index": 5409 } }, { @@ -49,14 +49,14 @@ "defaultMessage": "!!!Overview", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 92, + "line": 100, "column": 15, - "index": 4846 + "index": 5426 }, "end": { - "line": 95, + "line": 103, "column": 3, - "index": 4924 + "index": 5504 } }, { @@ -64,14 +64,14 @@ "defaultMessage": "!!!Mint", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 96, + "line": 104, "column": 11, - "index": 4937 + "index": 5517 }, "end": { - "line": 99, + "line": 107, "column": 3, - "index": 5007 + "index": 5587 } }, { @@ -79,14 +79,14 @@ "defaultMessage": "!!!Reference inputs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 100, + "line": 108, "column": 22, - "index": 5031 + "index": 5611 }, "end": { - "line": 103, + "line": 111, "column": 3, - "index": 5124 + "index": 5704 } }, { @@ -94,14 +94,14 @@ "defaultMessage": "!!!Metadata", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 104, + "line": 112, "column": 15, - "index": 5141 + "index": 5721 }, "end": { - "line": 107, + "line": 115, "column": 3, - "index": 5222 + "index": 5802 } }, { @@ -109,14 +109,14 @@ "defaultMessage": "!!!Metadata hash", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 108, + "line": 116, "column": 16, - "index": 5240 + "index": 5820 }, "end": { - "line": 111, + "line": 119, "column": 3, - "index": 5327 + "index": 5907 } }, { @@ -124,14 +124,14 @@ "defaultMessage": "!!!Metadata", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 112, + "line": 120, "column": 21, - "index": 5350 + "index": 5930 }, "end": { - "line": 115, + "line": 123, "column": 3, - "index": 5437 + "index": 6017 } }, { @@ -139,14 +139,14 @@ "defaultMessage": "!!!Wallet", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 116, + "line": 124, "column": 15, - "index": 5454 + "index": 6034 }, "end": { - "line": 119, + "line": 127, "column": 3, - "index": 5528 + "index": 6108 } }, { @@ -154,14 +154,14 @@ "defaultMessage": "!!!Fee", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 120, + "line": 128, "column": 12, - "index": 5542 + "index": 6122 }, "end": { - "line": 123, + "line": 131, "column": 3, - "index": 5601 + "index": 6181 } }, { @@ -169,14 +169,14 @@ "defaultMessage": "!!!Your Wallet", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 124, + "line": 132, "column": 17, - "index": 5620 + "index": 6200 }, "end": { - "line": 127, + "line": 135, "column": 3, - "index": 5706 + "index": 6286 } }, { @@ -184,14 +184,14 @@ "defaultMessage": "!!!Send", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 128, + "line": 136, "column": 13, - "index": 5721 + "index": 6301 }, "end": { - "line": 131, + "line": 139, "column": 3, - "index": 5796 + "index": 6376 } }, { @@ -199,14 +199,14 @@ "defaultMessage": "!!!To", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 132, + "line": 140, "column": 18, - "index": 5816 + "index": 6396 }, "end": { - "line": 135, + "line": 143, "column": 3, - "index": 5894 + "index": 6474 } }, { @@ -214,14 +214,14 @@ "defaultMessage": "!!!To script", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 136, + "line": 144, "column": 24, - "index": 5920 + "index": 6500 }, "end": { - "line": 139, + "line": 147, "column": 3, - "index": 6011 + "index": 6591 } }, { @@ -229,14 +229,14 @@ "defaultMessage": "!!!Inputs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 140, + "line": 148, "column": 20, - "index": 6033 + "index": 6613 }, "end": { - "line": 143, + "line": 151, "column": 3, - "index": 6114 + "index": 6694 } }, { @@ -244,14 +244,14 @@ "defaultMessage": "!!!Outputs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 144, + "line": 152, "column": 21, - "index": 6137 + "index": 6717 }, "end": { - "line": 147, + "line": 155, "column": 3, - "index": 6220 + "index": 6800 } }, { @@ -259,14 +259,14 @@ "defaultMessage": "!!!Your address", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 148, + "line": 156, "column": 25, - "index": 6247 + "index": 6827 }, "end": { - "line": 151, + "line": 159, "column": 3, - "index": 6339 + "index": 6919 } }, { @@ -274,14 +274,14 @@ "defaultMessage": "!!!Foreign address", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 152, + "line": 160, "column": 28, - "index": 6369 + "index": 6949 }, "end": { - "line": 155, + "line": 163, "column": 3, - "index": 6467 + "index": 7047 } }, { @@ -289,14 +289,14 @@ "defaultMessage": "!!!Overview", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 156, + "line": 164, "column": 12, - "index": 6481 + "index": 7061 }, "end": { - "line": 159, + "line": 167, "column": 3, - "index": 6572 + "index": 7152 } }, { @@ -304,14 +304,14 @@ "defaultMessage": "!!!JSON", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 160, + "line": 168, "column": 8, - "index": 6582 + "index": 7162 }, "end": { - "line": 163, + "line": 171, "column": 3, - "index": 6665 + "index": 7245 } }, { @@ -319,14 +319,14 @@ "defaultMessage": "!!!Metadata", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 164, + "line": 172, "column": 12, - "index": 6679 + "index": 7259 }, "end": { - "line": 167, + "line": 175, "column": 3, - "index": 6769 + "index": 7349 } }, { @@ -334,14 +334,14 @@ "defaultMessage": "!!!Policy ID", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 168, + "line": 176, "column": 12, - "index": 6783 + "index": 7363 }, "end": { - "line": 171, + "line": 179, "column": 3, - "index": 6872 + "index": 7452 } }, { @@ -349,14 +349,14 @@ "defaultMessage": "!!!Pool ID", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 172, + "line": 180, "column": 10, - "index": 6884 + "index": 7464 }, "end": { - "line": 175, + "line": 183, "column": 3, - "index": 6968 + "index": 7548 } }, { @@ -364,14 +364,14 @@ "defaultMessage": "!!!Hash", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 176, + "line": 184, "column": 12, - "index": 6982 + "index": 7562 }, "end": { - "line": 179, + "line": 187, "column": 3, - "index": 7065 + "index": 7645 } }, { @@ -379,14 +379,14 @@ "defaultMessage": "!!!Pool size", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 180, + "line": 188, "column": 12, - "index": 7079 + "index": 7659 }, "end": { - "line": 183, + "line": 191, "column": 3, - "index": 7167 + "index": 7747 } }, { @@ -394,14 +394,14 @@ "defaultMessage": "!!!ROA 30d", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 184, + "line": 192, "column": 11, - "index": 7180 + "index": 7760 }, "end": { - "line": 187, + "line": 195, "column": 3, - "index": 7265 + "index": 7845 } }, { @@ -409,14 +409,14 @@ "defaultMessage": "!!!Share", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 188, + "line": 196, "column": 13, - "index": 7280 + "index": 7860 }, "end": { - "line": 191, + "line": 199, "column": 3, - "index": 7365 + "index": 7945 } }, { @@ -424,14 +424,14 @@ "defaultMessage": "!!!Saturation", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 192, + "line": 200, "column": 18, - "index": 7385 + "index": 7965 }, "end": { - "line": 195, + "line": 203, "column": 3, - "index": 7480 + "index": 8060 } }, { @@ -439,14 +439,14 @@ "defaultMessage": "!!!Tax fix", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 196, + "line": 204, "column": 14, - "index": 7496 + "index": 8076 }, "end": { - "line": 199, + "line": 207, "column": 3, - "index": 7580 + "index": 8160 } }, { @@ -454,14 +454,14 @@ "defaultMessage": "!!!Tax ratio", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 200, + "line": 208, "column": 16, - "index": 7598 + "index": 8178 }, "end": { - "line": 203, + "line": 211, "column": 3, - "index": 7686 + "index": 8266 } }, { @@ -469,14 +469,14 @@ "defaultMessage": "!!!Pledge", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 204, + "line": 212, "column": 14, - "index": 7702 + "index": 8282 }, "end": { - "line": 207, + "line": 215, "column": 3, - "index": 7785 + "index": 8365 } }, { @@ -484,14 +484,14 @@ "defaultMessage": "!!!Fingerprint", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 208, + "line": 216, "column": 15, - "index": 7802 + "index": 8382 }, "end": { - "line": 211, + "line": 219, "column": 3, - "index": 7896 + "index": 8476 } }, { @@ -499,14 +499,14 @@ "defaultMessage": "!!!Name", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 212, + "line": 220, "column": 8, - "index": 7906 + "index": 8486 }, "end": { - "line": 215, + "line": 223, "column": 3, - "index": 7998 + "index": 8578 } }, { @@ -514,14 +514,14 @@ "defaultMessage": "!!!Token Supply", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 216, + "line": 224, "column": 15, - "index": 8015 + "index": 8595 }, "end": { - "line": 219, + "line": 227, "column": 3, - "index": 8122 + "index": 8702 } }, { @@ -529,14 +529,14 @@ "defaultMessage": "!!!Symbol", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 220, + "line": 228, "column": 10, - "index": 8134 + "index": 8714 }, "end": { - "line": 223, + "line": 231, "column": 3, - "index": 8230 + "index": 8810 } }, { @@ -544,14 +544,14 @@ "defaultMessage": "!!!Description", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 224, + "line": 232, "column": 15, - "index": 8247 + "index": 8827 }, "end": { - "line": 227, + "line": 235, "column": 3, - "index": 8353 + "index": 8933 } }, { @@ -559,14 +559,14 @@ "defaultMessage": "!!!Details on", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 228, + "line": 236, "column": 11, - "index": 8366 + "index": 8946 }, "end": { - "line": 231, + "line": 239, "column": 3, - "index": 8467 + "index": 9047 } }, { @@ -574,14 +574,14 @@ "defaultMessage": "!!!Asset Details", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 232, + "line": 240, "column": 21, - "index": 8490 + "index": 9070 }, "end": { - "line": 235, + "line": 243, "column": 3, - "index": 8574 + "index": 9154 } }, { @@ -589,14 +589,14 @@ "defaultMessage": "!!!Wallet balance", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 236, + "line": 244, "column": 22, - "index": 8598 + "index": 9178 }, "end": { - "line": 239, + "line": 247, "column": 3, - "index": 8684 + "index": 9264 } }, { @@ -604,14 +604,14 @@ "defaultMessage": "!!!Tokens", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 240, + "line": 248, "column": 28, - "index": 8714 + "index": 9294 }, "end": { - "line": 243, + "line": 251, "column": 3, - "index": 8798 + "index": 9378 } }, { @@ -619,14 +619,14 @@ "defaultMessage": "!!!NFTs", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 244, + "line": 252, "column": 26, - "index": 8826 + "index": 9406 }, "end": { - "line": 247, + "line": 255, "column": 3, - "index": 8906 + "index": 9486 } }, { @@ -634,14 +634,14 @@ "defaultMessage": "!!!Pool Details", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 248, + "line": 256, "column": 20, - "index": 8928 + "index": 9508 }, "end": { - "line": 251, + "line": 259, "column": 3, - "index": 9010 + "index": 9590 } }, { @@ -649,14 +649,89 @@ "defaultMessage": "!!!Register staking key deposit", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 252, + "line": 260, "column": 22, - "index": 9034 + "index": 9614 }, "end": { - "line": 255, + "line": 263, "column": 3, - "index": 9144 + "index": 9724 + } + }, + { + "id": "txReview.operations.drepRegistration", + "defaultMessage": "!!!Register as a DRep deposit", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 264, + "column": 20, + "index": 9746 + }, + "end": { + "line": 267, + "column": 3, + "index": 9852 + } + }, + { + "id": "txReview.operations.poolRegistration", + "defaultMessage": "!!!Pool registration deposit", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 268, + "column": 20, + "index": 9874 + }, + "end": { + "line": 271, + "column": 3, + "index": 9979 + } + }, + { + "id": "txReview.operations.poolRetirement", + "defaultMessage": "!!!Pool retirement", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 272, + "column": 18, + "index": 9999 + }, + "end": { + "line": 275, + "column": 3, + "index": 10092 + } + }, + { + "id": "txReview.operations.drepUpdate", + "defaultMessage": "!!!Drep update", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 276, + "column": 14, + "index": 10108 + }, + "end": { + "line": 279, + "column": 3, + "index": 10193 + } + }, + { + "id": "txReview.operations.drepDeregistration", + "defaultMessage": "!!!Deregister as a DRep", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 280, + "column": 22, + "index": 10217 + }, + "end": { + "line": 283, + "column": 3, + "index": 10319 } }, { @@ -664,14 +739,59 @@ "defaultMessage": "!!!Deregister staking key", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 256, + "line": 284, "column": 24, - "index": 9170 + "index": 10345 }, "end": { - "line": 259, + "line": 287, "column": 3, - "index": 9276 + "index": 10451 + } + }, + { + "id": "txReview.operations.moveInstantaneousRewards", + "defaultMessage": "!!!Move instantaneus rewards", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 288, + "column": 28, + "index": 10481 + }, + "end": { + "line": 291, + "column": 3, + "index": 10594 + } + }, + { + "id": "txReview.operations.committeeHotAuthorization", + "defaultMessage": "!!!Committee hot authorization", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 292, + "column": 29, + "index": 10625 + }, + "end": { + "line": 295, + "column": 3, + "index": 10741 + } + }, + { + "id": "txReview.operations.committeeColdResign", + "defaultMessage": "!!!Committee cold resign", + "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", + "start": { + "line": 296, + "column": 23, + "index": 10766 + }, + "end": { + "line": 299, + "column": 3, + "index": 10870 } }, { @@ -679,14 +799,14 @@ "defaultMessage": "!!!Staking", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 260, + "line": 300, "column": 26, - "index": 9304 + "index": 10898 }, "end": { - "line": 263, + "line": 303, "column": 3, - "index": 9398 + "index": 10992 } }, { @@ -694,14 +814,14 @@ "defaultMessage": "!!!Rewards withdrawal", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 264, + "line": 304, "column": 25, - "index": 9425 + "index": 11019 }, "end": { - "line": 267, + "line": 307, "column": 3, - "index": 9529 + "index": 11123 } }, { @@ -709,14 +829,14 @@ "defaultMessage": "!!!Select abstain", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 268, + "line": 308, "column": 17, - "index": 9548 + "index": 11142 }, "end": { - "line": 271, + "line": 311, "column": 3, - "index": 9639 + "index": 11233 } }, { @@ -724,14 +844,14 @@ "defaultMessage": "!!!Select no confidence", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 272, + "line": 312, "column": 22, - "index": 9663 + "index": 11257 }, "end": { - "line": 275, + "line": 315, "column": 3, - "index": 9765 + "index": 11359 } }, { @@ -739,14 +859,14 @@ "defaultMessage": "!!!Delegate voting to", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 276, + "line": 316, "column": 24, - "index": 9791 + "index": 11385 }, "end": { - "line": 279, + "line": 319, "column": 3, - "index": 9893 + "index": 11487 } }, { @@ -754,14 +874,14 @@ "defaultMessage": "!!!Stake entire wallet balance to", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 280, + "line": 320, "column": 17, - "index": 9912 + "index": 11506 }, "end": { - "line": 283, + "line": 323, "column": 3, - "index": 10019 + "index": 11613 } }, { @@ -769,14 +889,14 @@ "defaultMessage": "!!!Transaction submitted", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 284, + "line": 324, "column": 20, - "index": 10041 + "index": 11635 }, "end": { - "line": 287, + "line": 327, "column": 3, - "index": 10131 + "index": 11725 } }, { @@ -784,14 +904,14 @@ "defaultMessage": "!!!Check this transaction in the list of wallet transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 288, + "line": 328, "column": 19, - "index": 10152 + "index": 11746 }, "end": { - "line": 291, + "line": 331, "column": 3, - "index": 10277 + "index": 11871 } }, { @@ -799,14 +919,14 @@ "defaultMessage": "!!!Go to transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 292, + "line": 332, "column": 21, - "index": 10300 + "index": 11894 }, "end": { - "line": 295, + "line": 335, "column": 3, - "index": 10388 + "index": 11982 } }, { @@ -814,14 +934,14 @@ "defaultMessage": "!!!Transaction failed", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 296, + "line": 336, "column": 17, - "index": 10407 + "index": 12001 }, "end": { - "line": 299, + "line": 339, "column": 3, - "index": 10491 + "index": 12085 } }, { @@ -829,14 +949,14 @@ "defaultMessage": "!!!Your transaction has not been processed properly due to technical issues", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 300, + "line": 340, "column": 16, - "index": 10509 + "index": 12103 }, "end": { - "line": 303, + "line": 343, "column": 3, - "index": 10646 + "index": 12240 } }, { @@ -844,14 +964,14 @@ "defaultMessage": "!!!Go to transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 304, + "line": 344, "column": 18, - "index": 10666 + "index": 12260 }, "end": { - "line": 307, + "line": 347, "column": 3, - "index": 10751 + "index": 12345 } }, { @@ -859,14 +979,14 @@ "defaultMessage": "!!!Something unexpected happened", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 308, + "line": 348, "column": 29, - "index": 10782 + "index": 12376 }, "end": { - "line": 311, + "line": 351, "column": 3, - "index": 10889 + "index": 12483 } }, { @@ -874,14 +994,14 @@ "defaultMessage": "!!!Please go back and try again. If this keep happening, contact our support team.", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 312, + "line": 352, "column": 28, - "index": 10919 + "index": 12513 }, "end": { - "line": 315, + "line": 355, "column": 3, - "index": 11075 + "index": 12669 } }, { @@ -889,14 +1009,14 @@ "defaultMessage": "!!!Go to transactions", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 316, + "line": 356, "column": 30, - "index": 11107 + "index": 12701 }, "end": { - "line": 319, + "line": 359, "column": 3, - "index": 11204 + "index": 12798 } }, { @@ -904,14 +1024,14 @@ "defaultMessage": "!!!Other parties", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 320, + "line": 360, "column": 36, - "index": 11242 + "index": 12836 }, "end": { - "line": 323, + "line": 363, "column": 3, - "index": 11349 + "index": 12943 } }, { @@ -919,14 +1039,14 @@ "defaultMessage": "!!!Here are displayed other parties that are involved into this transaction. They don't affect your wallet balance", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 324, + "line": 364, "column": 37, - "index": 11388 + "index": 12982 }, "end": { - "line": 328, + "line": 368, "column": 3, - "index": 11600 + "index": 13194 } }, { @@ -934,14 +1054,14 @@ "defaultMessage": "!!!Receive", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 329, + "line": 369, "column": 16, - "index": 11618 + "index": 13212 }, "end": { - "line": 332, + "line": 372, "column": 3, - "index": 11690 + "index": 13284 } }, { @@ -949,14 +1069,14 @@ "defaultMessage": "!!!Operations", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 333, + "line": 373, "column": 19, - "index": 11711 + "index": 13305 }, "end": { - "line": 336, + "line": 376, "column": 3, - "index": 11789 + "index": 13383 } }, { @@ -964,14 +1084,14 @@ "defaultMessage": "!!!Policy ID", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 337, + "line": 377, "column": 17, - "index": 11808 + "index": 13402 }, "end": { - "line": 340, + "line": 380, "column": 3, - "index": 11883 + "index": 13477 } }, { @@ -979,14 +1099,14 @@ "defaultMessage": "!!!Created by", "file": "src/features/ReviewTx/common/hooks/useStrings.tsx", "start": { - "line": 341, + "line": 381, "column": 13, - "index": 11898 + "index": 13492 }, "end": { - "line": 344, + "line": 384, "column": 3, - "index": 11970 + "index": 13564 } } ] \ No newline at end of file From 53b71d6f65a63bf91770b194fbb9410b21f0c791 Mon Sep 17 00:00:00 2001 From: jorbuedo Date: Mon, 18 Nov 2024 20:21:47 +0100 Subject: [PATCH 2/3] fix(wallet-mobile): default pt to zero (#3739) --- .../src/yoroi-wallets/cardano/usePrimaryTokenActivity.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/wallet-mobile/src/yoroi-wallets/cardano/usePrimaryTokenActivity.tsx b/apps/wallet-mobile/src/yoroi-wallets/cardano/usePrimaryTokenActivity.tsx index 0ebcf0cfae..026d6c48ba 100644 --- a/apps/wallet-mobile/src/yoroi-wallets/cardano/usePrimaryTokenActivity.tsx +++ b/apps/wallet-mobile/src/yoroi-wallets/cardano/usePrimaryTokenActivity.tsx @@ -19,8 +19,8 @@ type PrimaryTokenActivity = { } const defaultPrimaryTokenActivity: PrimaryTokenActivity = { ts: 0, - close: 1, - open: 1, + close: 0, + open: 0, } export const usePrimaryTokenActivity = ({ From 27f644603dbc355b539e111f639395c748c166f0 Mon Sep 17 00:00:00 2001 From: Juliano Lazzarotto <30806844+stackchain@users.noreply.github.com> Date: Tue, 19 Nov 2024 13:54:20 +0300 Subject: [PATCH 3/3] chore: smart workflow - ignore drafts (#3745) --- .github/workflows/nightly.yml | 2 ++ .github/workflows/wallet-mobile-checks.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index aa88fd49fb..07615440fc 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -5,6 +5,8 @@ on: jobs: build: + if: github.event.pull_request.draft == false + runs-on: macos-13 steps: - uses: maxim-lobanov/setup-xcode@v1 diff --git a/.github/workflows/wallet-mobile-checks.yml b/.github/workflows/wallet-mobile-checks.yml index 70351c0c84..ed49fedcd1 100644 --- a/.github/workflows/wallet-mobile-checks.yml +++ b/.github/workflows/wallet-mobile-checks.yml @@ -8,6 +8,8 @@ defaults: jobs: check: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3