From 3d40de966d7da5f626a9750fc3c3d8abbcb67caf Mon Sep 17 00:00:00 2001 From: shreerang6921 <68148922+shreerang6921@users.noreply.github.com> Date: Thu, 8 Feb 2024 18:42:30 +0530 Subject: [PATCH] Generate wallet and sign message (#4) * Store mnemonic and private key seperately * Change variable names * Refactor code in seperate components * Display wallet details * Remove unnecessary imports * Make review changes * Add method to reset wallet * Make component self closing * separate imports --------- Co-authored-by: Adw8 --- App.tsx | 125 ++++++++++++++++++++--------------------- components/Header.tsx | 23 ++++++++ components/Section.tsx | 29 ++++++++++ styles/stylesheet.js | 4 +- utils.ts | 29 +++++++--- 5 files changed, 137 insertions(+), 73 deletions(-) create mode 100644 components/Header.tsx create mode 100644 components/Section.tsx diff --git a/App.tsx b/App.tsx index c22f21a..bea3cbf 100644 --- a/App.tsx +++ b/App.tsx @@ -12,48 +12,24 @@ import { View, } from 'react-native'; import { Colors } from 'react-native/Libraries/NewAppScreen'; +import { HDNode } from 'ethers/lib/utils'; +import { generateWallet, resetWallet, signMessage } from './utils'; import styles from './styles/stylesheet'; -import { generateWallet, signMessage } from './utils'; - -type SectionProps = PropsWithChildren<{ - title: string; -}>; - -const Section = ({children, title}: SectionProps): React.JSX.Element => { - const isDarkMode = useColorScheme() === 'dark'; - return ( - - - {title} - - - {children} - - - ); -}; +import { Section } from './components/Section'; const App = (): React.JSX.Element => { const [message, setMessage] = useState(''); - const [isWalletCreated, setIsWalletCreated] = useState(false); + const [isWalletCreated, setIsWalletCreated] = useState(false); + const [wallet, setWallet] = useState(); const createWallet = async () => { Alert.alert('Creating Wallet...'); - await generateWallet(); - setIsWalletCreated(true); + const wallet = await generateWallet(); + if (wallet) { + setWallet(wallet); + setIsWalletCreated(true); + } }; const isDarkMode = useColorScheme() === 'dark'; @@ -81,16 +57,62 @@ const App = (): React.JSX.Element => { {isWalletCreated ? ( -
Wallet Created!
+
+ + + Address: {wallet && wallet.address.toString()} + + + Public Key: {wallet && wallet.publicKey.toString()} + + +
+ + setMessage(text)} + value={message} + /> + +