From da937a68b0b4cfda05ad6392ea7497c39f0d0c00 Mon Sep 17 00:00:00 2001 From: theborakompanioni Date: Wed, 5 Jul 2023 15:32:15 +0200 Subject: [PATCH] dev(regtest): add funds to dummy wallet during initialization of local setup --- docker/regtest/init-setup.sh | 6 +++++- src/components/CreateWallet.test.jsx | 7 ++++--- src/components/ImportWallet.tsx | 9 ++------- src/utils.ts | 3 +++ 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/docker/regtest/init-setup.sh b/docker/regtest/init-setup.sh index 666602732..9bdf270f1 100755 --- a/docker/regtest/init-setup.sh +++ b/docker/regtest/init-setup.sh @@ -24,8 +24,12 @@ script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P) . "$script_dir/fund-wallet.sh" --container jm_regtest_joinmarket2 --unmatured --blocks 50 . "$script_dir/fund-wallet.sh" --container jm_regtest_joinmarket3 --unmatured --blocks 50 +# first address (m/84'/1'/0'/0/0) of seed 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about' +# this is useful if you "import an existing wallet" and verify rescanning the chain works as expected. +dummy_wallet_address='bcrt1q6rz28mcfaxtmd6v789l9rrlrusdprr9pz3cppk' # make block rewards spendable: 100 + 5 (default of `taker_utxo_age`) + 1 = 106 -. "$script_dir/mine-block.sh" 106 &>/dev/null +. "$script_dir/mine-block.sh" 6 "$dummy_wallet_address" &>/dev/null +. "$script_dir/mine-block.sh" 100 &>/dev/null start_maker() { local base_url; base_url=${1:-} diff --git a/src/components/CreateWallet.test.jsx b/src/components/CreateWallet.test.jsx index e2bab9f07..12e06a417 100644 --- a/src/components/CreateWallet.test.jsx +++ b/src/components/CreateWallet.test.jsx @@ -5,6 +5,7 @@ import { act } from 'react-dom/test-utils' import { __testSetDebugFeatureEnabled } from '../constants/debugFeatures' import * as apiMock from '../libs/JmWalletApi' +import { DUMMY_MNEMONIC_PHRASE } from '../utils' import CreateWallet from './CreateWallet' @@ -92,7 +93,7 @@ describe('', () => { Promise.resolve({ walletname: `${testWalletName}.jmdat`, token: 'ANY_TOKEN', - seedphrase: 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about', + seedphrase: DUMMY_MNEMONIC_PHRASE, }), }) @@ -125,7 +126,7 @@ describe('', () => { Promise.resolve({ walletname: `${testWalletName}.jmdat`, token: 'ANY_TOKEN', - seedphrase: 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about', + seedphrase: DUMMY_MNEMONIC_PHRASE, }), }) @@ -167,7 +168,7 @@ describe('', () => { Promise.resolve({ walletname: `${testWalletName}.jmdat`, token: 'ANY_TOKEN', - seedphrase: 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about', + seedphrase: DUMMY_MNEMONIC_PHRASE, }), }) diff --git a/src/components/ImportWallet.tsx b/src/components/ImportWallet.tsx index 44fc1a57b..1a35f7ba4 100644 --- a/src/components/ImportWallet.tsx +++ b/src/components/ImportWallet.tsx @@ -10,12 +10,9 @@ import MnemonicWordInput from './MnemonicWordInput' import WalletCreationConfirmation from './WalletCreationConfirmation' import { isDebugFeatureEnabled } from '../constants/debugFeatures' import { routes } from '../constants/routes' -import { JM_WALLET_FILE_EXTENSION, walletDisplayName } from '../utils' +import { DUMMY_MNEMONIC_PHRASE, JM_WALLET_FILE_EXTENSION, walletDisplayName } from '../utils' import styles from './ImportWallet.module.css' -const fillerMnemonicPhrase = - 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about' - const MnemonicPhraseInputForm = ({ onSubmit }: { onSubmit: (mnemonicPhrase: string) => void }) => { const { t } = useTranslation() const [mnemonicPhraseWords, setMnemonicPhraseWords] = useState(new Array(12).fill('')) @@ -86,9 +83,7 @@ const MnemonicPhraseInputForm = ({ onSubmit }: { onSubmit: (mnemonicPhrase: stri { - setMnemonicPhraseWords(fillerMnemonicPhrase.split(' ')) - }} + onClick={() => setMnemonicPhraseWords(DUMMY_MNEMONIC_PHRASE.split(' '))} disabled={false} > {t('import_wallet.fill_with')} diff --git a/src/utils.ts b/src/utils.ts index 46a2e4583..e0ac960ef 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -13,6 +13,9 @@ export const SATS: Unit = 'sats' export const JM_WALLET_FILE_EXTENSION = '.jmdat' +export const DUMMY_MNEMONIC_PHRASE = + 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about' + export const sanitizeWalletName = (name: string) => name.replace(JM_WALLET_FILE_EXTENSION, '') export const walletDisplayName = (name: string) => sanitizeWalletName(name)