From c123f6fb72daef13311fb5ac30ea02522d7929eb Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Wed, 14 Jun 2023 12:06:50 +0200 Subject: [PATCH] Make skipping prefix explicit --- .../forms/CreateTxForm/MsgForm/MsgTransferForm.tsx | 2 +- lib/displayHelpers.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/components/forms/CreateTxForm/MsgForm/MsgTransferForm.tsx b/components/forms/CreateTxForm/MsgForm/MsgTransferForm.tsx index 6ee2a0d..726c73f 100644 --- a/components/forms/CreateTxForm/MsgForm/MsgTransferForm.tsx +++ b/components/forms/CreateTxForm/MsgForm/MsgTransferForm.tsx @@ -75,7 +75,7 @@ const MsgTransferForm = ({ fromAddress, setMsgGetter, deleteMsg }: MsgTransferFo return false; } - const addressErrorMsg = checkAddress(toAddress, ""); // Allow address from any chain + const addressErrorMsg = checkAddress(toAddress, null); // Allow address from any chain if (addressErrorMsg) { setToAddressError(`Invalid address for network ${state.chain.chainId}: ${addressErrorMsg}`); return false; diff --git a/lib/displayHelpers.ts b/lib/displayHelpers.ts index 41ee63a..aa52ae2 100644 --- a/lib/displayHelpers.ts +++ b/lib/displayHelpers.ts @@ -117,10 +117,11 @@ function examplePubkey(index: number): string { /** * Returns an error message for invalid addresses. - * * Returns null of there is no error. + * + * If `chainAddressPrefix` is null, the prefix check will be skipped. */ -const checkAddress = (input: string, chainAddressPrefix: string) => { +const checkAddress = (input: string, chainAddressPrefix: string | null) => { if (!input) return "Empty"; let data; @@ -132,8 +133,12 @@ const checkAddress = (input: string, chainAddressPrefix: string) => { return error.toString(); } - if (!prefix.startsWith(chainAddressPrefix)) { - return `Expected address prefix '${chainAddressPrefix}' but got '${prefix}'`; + if (chainAddressPrefix) { + if (!prefix.startsWith(chainAddressPrefix)) { + return `Expected address prefix '${chainAddressPrefix}' but got '${prefix}'`; + } + } else { + // any prefix is allowed } if (data.length !== 20) {