diff --git a/apps/governance/src/routes/proposals/components/proposal-asset-details/proposal-asset-details.tsx b/apps/governance/src/routes/proposals/components/proposal-asset-details/proposal-asset-details.tsx
index d5805780a..de620c162 100644
--- a/apps/governance/src/routes/proposals/components/proposal-asset-details/proposal-asset-details.tsx
+++ b/apps/governance/src/routes/proposals/components/proposal-asset-details/proposal-asset-details.tsx
@@ -7,8 +7,10 @@ import type { AssetFieldsFragment } from '@vegaprotocol/assets';
export const ProposalAssetDetails = ({
asset,
+ originalAsset,
}: {
asset: AssetFieldsFragment;
+ originalAsset?: AssetFieldsFragment;
}) => {
const { t } = useTranslation();
const [showAssetDetails, setShowAssetDetails] = useState(false);
@@ -27,6 +29,7 @@ export const ProposalAssetDetails = ({
)}
diff --git a/libs/assets/src/lib/asset-details-table.tsx b/libs/assets/src/lib/asset-details-table.tsx
index 1d30dbf32..fc9394691 100644
--- a/libs/assets/src/lib/asset-details-table.tsx
+++ b/libs/assets/src/lib/asset-details-table.tsx
@@ -18,7 +18,7 @@ type Rows = {
key: AssetDetail;
label: string;
tooltip: string;
- value: (asset: Asset) => ReactNode | undefined;
+ value: (asset: Asset, orignalAsset?: Asset) => ReactNode | undefined;
valueTooltip?: (asset: Asset) => string | null | undefined;
}[];
@@ -52,6 +52,21 @@ const num = (asset: Asset, n: string | undefined | null) => {
return addDecimalsFormatNumber(n, asset.decimals);
};
+const Diff = ({
+ oldValue,
+ newValue,
+}: {
+ oldValue: ReactNode;
+ newValue: ReactNode;
+}) => (
+
+
+ {oldValue}
+
+ {newValue}
+
+);
+
export const useRows = () => {
const t = useT();
const AssetTypeMapping = useAssetTypeMapping();
@@ -103,7 +118,14 @@ export const useRows = () => {
key: AssetDetail.QUANTUM,
label: t('Quantum'),
tooltip: t('The minimum economically meaningful amount of the asset'),
- value: (asset) => num(asset, asset.quantum),
+ value: (asset, originalAsset) => {
+ const value = num(asset, asset.quantum);
+ if (originalAsset && originalAsset.quantum !== asset.quantum) {
+ const original = num(originalAsset, originalAsset.quantum);
+ return ;
+ }
+ return value;
+ },
},
{
key: AssetDetail.STATUS,
@@ -143,8 +165,24 @@ export const useRows = () => {
tooltip: t('WITHDRAW_THRESHOLD_TOOLTIP_TEXT', {
defaultValue: WITHDRAW_THRESHOLD_TOOLTIP_TEXT,
}),
- value: (asset) =>
- num(asset, (asset.source as Schema.ERC20).withdrawThreshold),
+ value: (asset, originalAsset) => {
+ const value = num(
+ asset,
+ (asset.source as Schema.ERC20).withdrawThreshold
+ );
+ if (
+ originalAsset &&
+ (originalAsset.source as Schema.ERC20).withdrawThreshold !==
+ (asset.source as Schema.ERC20).withdrawThreshold
+ ) {
+ const original = num(
+ asset,
+ (originalAsset.source as Schema.ERC20).withdrawThreshold
+ );
+ return ;
+ }
+ return value;
+ },
},
{
key: AssetDetail.LIFETIME_LIMIT,
@@ -152,8 +190,26 @@ export const useRows = () => {
tooltip: t(
'The lifetime deposit limit per address. Note: this is a temporary measure that can be changed or removed through governance'
),
- value: (asset) =>
- num(asset, (asset.source as Schema.ERC20).lifetimeLimit),
+ value: (asset, originalAsset) => {
+ const value = num(
+ asset,
+ (asset.source as Schema.ERC20).lifetimeLimit
+ );
+
+ if (
+ originalAsset &&
+ (originalAsset.source as Schema.ERC20).lifetimeLimit !==
+ (asset.source as Schema.ERC20).lifetimeLimit
+ ) {
+ const original = num(
+ asset,
+ (originalAsset.source as Schema.ERC20).lifetimeLimit
+ );
+ return ;
+ }
+
+ return value;
+ },
},
{
key: AssetDetail.MAX_FAUCET_AMOUNT_MINT,
@@ -261,10 +317,13 @@ export const testId = (detail: AssetDetail, field: 'label' | 'value') =>
export type AssetDetailsTableProps = {
asset: Asset;
+ originalAsset?: Asset;
+
omitRows?: AssetDetail[];
} & Omit;
export const AssetDetailsTable = ({
asset,
+ originalAsset,
omitRows = [],
...props
}: AssetDetailsTableProps) => {
@@ -275,7 +334,7 @@ export const AssetDetailsTable = ({
const details = useRows().map((r) => ({
...r,
- value: r.value(asset),
+ value: r.value(asset, originalAsset),
valueTooltip: r.valueTooltip?.(asset),
}));