diff --git a/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts b/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts index e12e5844ee..8c035e1a3f 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts +++ b/packages/apps/dashboard/client/src/features/searchResults/model/addressDetailsSchema.ts @@ -3,33 +3,15 @@ import { z } from 'zod'; import { reputationSchema } from '@/shared/model/reputationSchema'; -const transformOptionalTokenAmount = ( - value: string | undefined | null, - ctx: z.RefinementCtx -) => { - if (value === undefined || value === null) return value; - - const valueAsNumber = Number(value); - - if (Number.isNaN(valueAsNumber)) { - ctx.addIssue({ - path: ['amountStaked'], - code: z.ZodIssueCode.custom, - }); - } - - return valueAsNumber / 10 ** 18; -}; - const walletSchema = z.object({ chainId: z.number(), address: z.string(), - balance: z.string().transform(transformOptionalTokenAmount), - amountStaked: z.string().transform(transformOptionalTokenAmount), - amountLocked: z.string().transform(transformOptionalTokenAmount), - amountWithdrawable: z.string().transform(transformOptionalTokenAmount), + balance: z.string(), + amountStaked: z.string(), + amountLocked: z.string(), + amountWithdrawable: z.string(), reputation: reputationSchema, - totalHMTAmountReceived: z.string().transform(transformOptionalTokenAmount), + totalHMTAmountReceived: z.string(), payoutCount: z.number().or(z.string()), }); @@ -59,7 +41,7 @@ export type AddressDetailsEscrow = z.infer; const operatorSchema = z.object({ chainId: z.number(), address: z.string(), - balance: z.string().transform(transformOptionalTokenAmount), + balance: z.string(), role: z .enum([ Role.JobLauncher, @@ -68,12 +50,9 @@ const operatorSchema = z.object({ Role.ReputationOracle, ]) .nullable(), - amountStaked: z.string().optional().transform(transformOptionalTokenAmount), - amountLocked: z.string().optional().transform(transformOptionalTokenAmount), - amountWithdrawable: z - .string() - .optional() - .transform(transformOptionalTokenAmount), + amountStaked: z.string().optional(), + amountLocked: z.string().optional(), + amountWithdrawable: z.string().optional(), lockedUntilTimestamp: z.string().optional(), reputation: reputationSchema, fee: z.number(), diff --git a/packages/apps/dashboard/client/src/features/searchResults/ui/EscrowAddress.tsx b/packages/apps/dashboard/client/src/features/searchResults/ui/EscrowAddress.tsx index 8f8318f455..889f0fc119 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/ui/EscrowAddress.tsx +++ b/packages/apps/dashboard/client/src/features/searchResults/ui/EscrowAddress.tsx @@ -41,11 +41,7 @@ const EscrowAddress: FC = ({ data }) => { {isHmt ? ( ) : ( - + )} ) : null} @@ -56,18 +52,10 @@ const EscrowAddress: FC = ({ data }) => { {factoryAddress} - + - + diff --git a/packages/apps/dashboard/client/src/features/searchResults/ui/HmtBalance.tsx b/packages/apps/dashboard/client/src/features/searchResults/ui/HmtBalance.tsx index fab1fbc99c..433e0fff20 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/ui/HmtBalance.tsx +++ b/packages/apps/dashboard/client/src/features/searchResults/ui/HmtBalance.tsx @@ -22,13 +22,11 @@ const HmtBalance: FC = ({ balance }) => { return ...; } - const _balance = - Number(balance) < 1 ? Number(balance) * 1e18 : Number(balance); - const balanceInDollars = balance ? (_balance * data).toFixed(2) : 0; + const balanceInDollars = balance ? (+balance * data).toFixed(2) : 0; return ( - + {`($${balanceInDollars})`} diff --git a/packages/apps/dashboard/client/src/features/searchResults/ui/StakeInfo.tsx b/packages/apps/dashboard/client/src/features/searchResults/ui/StakeInfo.tsx index 60d7023dbb..b8b7c08ebc 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/ui/StakeInfo.tsx +++ b/packages/apps/dashboard/client/src/features/searchResults/ui/StakeInfo.tsx @@ -8,9 +8,9 @@ import SectionWrapper from '@/shared/ui/SectionWrapper'; import TokenAmount from './TokenAmount'; type Props = { - amountStaked?: number | null; - amountLocked?: number | null; - amountWithdrawable?: number | null; + amountStaked?: string | number | null; + amountLocked?: string | number | null; + amountWithdrawable?: string | number | null; }; const StakeInfo: FC = ({ @@ -26,7 +26,7 @@ const StakeInfo: FC = ({ Stake Info - {Number.isFinite(amountStaked) && ( + {Number.isFinite(Number(amountStaked)) && ( Staked Tokens @@ -34,7 +34,7 @@ const StakeInfo: FC = ({ )} - {Number.isFinite(amountLocked) && ( + {Number.isFinite(Number(amountLocked)) && ( Locked Tokens @@ -42,7 +42,7 @@ const StakeInfo: FC = ({ )} - {Number.isFinite(amountWithdrawable) && ( + {Number.isFinite(Number(amountWithdrawable)) && ( Withdrawable Tokens diff --git a/packages/apps/dashboard/client/src/features/searchResults/ui/TokenAmount.tsx b/packages/apps/dashboard/client/src/features/searchResults/ui/TokenAmount.tsx index ae097a4229..5a92ac4a32 100644 --- a/packages/apps/dashboard/client/src/features/searchResults/ui/TokenAmount.tsx +++ b/packages/apps/dashboard/client/src/features/searchResults/ui/TokenAmount.tsx @@ -9,21 +9,16 @@ import FormattedNumber from '@/shared/ui/FormattedNumber'; type Props = { amount: number | string | null | undefined; tokenSymbol?: string | null | undefined; - alreadyParsed?: boolean; }; -const TokenAmount: FC = ({ - amount, - tokenSymbol = 'HMT', - alreadyParsed = false, -}) => { +const TokenAmount: FC = ({ amount, tokenSymbol = 'HMT' }) => { const isMobile = useIsMobile(); return (