import React, { useState } from 'react'; import { ScrollView, View, Text, StyleSheet } from 'react-native'; import { Button, TextInput } from 'react-native-paper'; import { addAccountFromHDPath } from '../utils/Accounts'; import { Account } from '../types'; import { HDNode } from 'ethers/lib/utils'; const HDPath = ({ pathCode, updateAccounts, updateIndex, hideDialog, }: { pathCode: string; updateIndex: (index: number) => void; updateAccounts: (account: Account) => void; hideDialog: () => void; }) => { const [isAccountCreating, setIsAccountCreating] = useState(false); const [firstNumber, setFirstNumber] = useState(''); const [secondNumber, setSecondNumber] = useState(''); const [thirdNumber, setThirdNumber] = useState(''); const createFromHDPathHandler = async () => { setIsAccountCreating(true); const hdPath = pathCode + `${firstNumber}'/${secondNumber}/${thirdNumber}`; try { const newAccount = await addAccountFromHDPath(hdPath); if (newAccount) { updateAccounts(newAccount); updateIndex(newAccount.counterId); hideDialog(); } } catch (error) { console.error('Error creating account:', error); } finally { setIsAccountCreating(false); } }; return ( {pathCode} '/ '/ ); }; const styles = StyleSheet.create({ container: { marginTop: 24, paddingHorizontal: 8, }, rowContainer: { flexDirection: 'row', alignItems: 'center', }, text: { color: 'black', fontSize: 18, padding: 10, }, textInput: { flex: 1, }, buttonContainer: { marginTop: 20, width: 200, alignSelf: 'center', }, }); export default HDPath;