import React, {useState} from 'react'; import logo from './logo.svg'; import './App.css'; import Web3 from 'web3'; interface AddressesProps { addressList: string[]; setAddressListFn: any; } function Addresses(props: AddressesProps) { const [inputState, setInputState] = useState(""); const [errorText, setErrorText] = useState(""); const { setAddressListFn, addressList } = props; const save = () => { console.log(inputState); //TODO check if correct address format if (!Web3.utils.isAddress(inputState)) { setErrorText("Invalid ETH address"); return; } setErrorText(""); const checksumAddr = Web3.utils.toChecksumAddress(inputState); if (addressList.includes(checksumAddr)) { //Do nothing } else { setAddressListFn([...addressList, checksumAddr]); } setInputState(""); } return (
setInputState(evt.target.value) } >
{errorText}
); } interface AddressListProps { addressList: string[]; }; function AddressList({addressList}: AddressListProps) { const addresses = addressList.length == 0 ?

No addresses specified yet

: addressList.map((addr: string) =>
{addr}
); return (

Addresses to airdrop to:

{ addresses }
) } function App() { const [addressList, setAddressList] = useState([]); return (

Airdrop App

Add an address to airdrop to:

); } export default App;