Skip to content

Commit e4d0818

Browse files
authored
feat: Allow validators to have an individual URL or share link (#1944)
1 parent 41df5c7 commit e4d0818

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

apps/namadillo/src/App/Staking/IncrementBonding.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { NamCurrency } from "App/Common/NamCurrency";
77
import { TableRowLoading } from "App/Common/TableRowLoading";
88
import { TransactionFeeButton } from "App/Common/TransactionFeeButton";
99
import { routes } from "App/routes";
10+
import { isNamadaAddress } from "App/Transfer/common";
1011
import { accountBalanceAtom, defaultAccountAtom } from "atoms/accounts";
1112
import { chainParametersAtom } from "atoms/chain";
1213
import { createBondTxAtom } from "atoms/staking";
@@ -20,14 +21,19 @@ import { useAtomValue } from "jotai";
2021
import { getTopValidatorsAddresses } from "lib/staking";
2122
import { useMemo, useRef, useState } from "react";
2223
import { GoAlert } from "react-icons/go";
23-
import { useNavigate } from "react-router-dom";
24+
import { useNavigate, useSearchParams } from "react-router-dom";
2425
import { ValidatorFilterOptions } from "types";
2526
import { BondingAmountOverview } from "./BondingAmountOverview";
2627
import { IncrementBondingTable } from "./IncrementBondingTable";
2728
import { ValidatorFilterNav } from "./ValidatorFilterNav";
2829

2930
const IncrementBonding = (): JSX.Element => {
30-
const [filter, setFilter] = useState<string>("");
31+
const [searchParams] = useSearchParams();
32+
const validatorLink =
33+
isNamadaAddress(searchParams.get("validator") ?? "") ?
34+
searchParams.get("validator")
35+
: null;
36+
const [filter, setFilter] = useState<string>(validatorLink ?? "");
3137
const [onlyMyValidators, setOnlyMyValidators] = useState(false);
3238
const [validatorFilter, setValidatorFilter] =
3339
useState<ValidatorFilterOptions>("all");

apps/namadillo/src/App/Staking/IncrementBondingTable.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ type IncrementBondingTableProps = {
1818
topValidatorsByRank: string[];
1919
onChangeValidatorAmount: (validator: Validator, amount?: BigNumber) => void;
2020
resultsPerPage?: number;
21+
filterByAddress?: string;
2122
};
2223

2324
export const IncrementBondingTable = ({
@@ -29,7 +30,7 @@ export const IncrementBondingTable = ({
2930
resultsPerPage = 100,
3031
}: IncrementBondingTableProps): JSX.Element => {
3132
const { sortableColumns, sortedValidators } = useValidatorTableSorting({
32-
validators,
33+
validators: validators,
3334
stakedAmountByAddress,
3435
});
3536

apps/namadillo/src/App/Transfer/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export const isShieldedAddress = (address: string): boolean => {
3434
};
3535

3636
export const isTransparentAddress = (address: string): boolean => {
37-
return address.startsWith("tnam");
37+
return address.startsWith("tnam") && address.length === 45;
3838
};
3939

4040
export const isNamadaAddress = (address: string): boolean => {

0 commit comments

Comments
 (0)