From 41e5b309d888992228d2488e9be0dae83c14623f Mon Sep 17 00:00:00 2001 From: "kody.low" Date: Wed, 14 Aug 2024 11:28:12 -0700 Subject: [PATCH 1/2] feat: disable inputs when env variables detected for bitcoin network and rpc --- .../setConfiguration/BitcoinSettingsForm.tsx | 46 ++++++++++++++++--- .../setConfiguration/SetConfiguration.tsx | 6 +++ apps/guardian-ui/src/languages/en.json | 6 ++- packages/types/src/bitcoin.ts | 6 +++ 4 files changed, 56 insertions(+), 8 deletions(-) diff --git a/apps/guardian-ui/src/components/setup/screens/setConfiguration/BitcoinSettingsForm.tsx b/apps/guardian-ui/src/components/setup/screens/setConfiguration/BitcoinSettingsForm.tsx index 74a04170a..9cc0bf798 100644 --- a/apps/guardian-ui/src/components/setup/screens/setConfiguration/BitcoinSettingsForm.tsx +++ b/apps/guardian-ui/src/components/setup/screens/setConfiguration/BitcoinSettingsForm.tsx @@ -9,14 +9,16 @@ import { import { useTranslation } from '@fedimint/utils'; import { FormGroup, NetworkIndicator } from '@fedimint/ui'; import { ReactComponent as BitcoinLogo } from '../../../../assets/svgs/bitcoin.svg'; -import { Network, BitcoinRpc } from '@fedimint/types'; +import { Network, BitcoinRpc, BitcoinRpcKind } from '@fedimint/types'; import { NumberFormControl } from '../../../NumberFormControl'; interface BitcoinSettingsFormProps { network: Network; setNetwork: (network: Network) => void; + networkSetFromParams: boolean; bitcoinRpc: BitcoinRpc; setBitcoinRpc: (rpc: BitcoinRpc) => void; + bitcoinSetFromParams: boolean; blockConfirmations: string; setBlockConfirmations: (value: string) => void; isHostOrSolo: boolean; @@ -25,8 +27,10 @@ interface BitcoinSettingsFormProps { export const BitcoinSettingsForm: React.FC = ({ network, setNetwork, + networkSetFromParams, bitcoinRpc, setBitcoinRpc, + bitcoinSetFromParams, blockConfirmations, setBlockConfirmations, isHostOrSolo, @@ -46,6 +50,7 @@ export const BitcoinSettingsForm: React.FC = ({ > {isHostOrSolo && ( = ({ }} /> )} - - {t('set-config.bitcoin-network')} + + + {t('set-config.bitcoin-network')}{' '} + {networkSetFromParams && t('set-config.read-from-env')} + - - {t('set-config.bitcoin-rpc')} + + + {t('set-config.bitcoin-rpc-kind')}{' '} + {bitcoinSetFromParams && t('set-config.read-from-env')} + + + + + + {t('set-config.bitcoin-rpc')}{' '} + {bitcoinSetFromParams && t('set-config.read-from-env')} + { setBitcoinRpc({ ...bitcoinRpc, url: ev.currentTarget.value }); }} /> - {t('set-config.set-rpc-help')} + {!bitcoinSetFromParams && ( + {t('set-config.set-rpc-help')} + )} ); diff --git a/apps/guardian-ui/src/components/setup/screens/setConfiguration/SetConfiguration.tsx b/apps/guardian-ui/src/components/setup/screens/setConfiguration/SetConfiguration.tsx index cbc45d1da..2eb4cd753 100644 --- a/apps/guardian-ui/src/components/setup/screens/setConfiguration/SetConfiguration.tsx +++ b/apps/guardian-ui/src/components/setup/screens/setConfiguration/SetConfiguration.tsx @@ -58,10 +58,12 @@ export const SetConfiguration: React.FC = ({ next }: Props) => { const [metaFields, setMetaFields] = useState<[string, string][]>([['', '']]); const [blockConfirmations, setBlockConfirmations] = useState(''); const [network, setNetwork] = useState(''); + const [networkSetFromParams, setNetworkSetFromParams] = useState(false); const [bitcoinRpc, setBitcoinRpc] = useState({ kind: '', url: '', }); + const [bitcoinSetFromParams, setBitcoinSetFromParams] = useState(false); const [mintAmounts, setMintAmounts] = useState([]); const [error, setError] = useState(); const [numPeers, setNumPeers] = useState( @@ -90,9 +92,11 @@ export const SetConfiguration: React.FC = ({ next }: Props) => { } if (walletConsensus?.network) { setNetwork(walletConsensus.network); + setNetworkSetFromParams(true); } if (walletModule?.local?.bitcoin_rpc) { setBitcoinRpc(walletModule.local.bitcoin_rpc); + setBitcoinSetFromParams(true); } }; @@ -236,8 +240,10 @@ export const SetConfiguration: React.FC = ({ next }: Props) => { Date: Wed, 14 Aug 2024 18:16:28 -0700 Subject: [PATCH 2/2] fix: remove electrum for now --- packages/types/src/bitcoin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/types/src/bitcoin.ts b/packages/types/src/bitcoin.ts index 881ef304e..4a59cf66a 100644 --- a/packages/types/src/bitcoin.ts +++ b/packages/types/src/bitcoin.ts @@ -15,7 +15,7 @@ export enum Network { export enum BitcoinRpcKind { Bitcoind = 'bitcoind', Esplora = 'esplora', - Electrum = 'electrum', + // Electrum = 'electrum', TODO: needs testing fedimint side } export class Bip21Uri {