import React, { useState } from 'react'; import { useSelector } from 'react-redux'; import BN from 'bn.js'; import Select from '@material-ui/core/Select'; import MenuItem from '@material-ui/core/MenuItem'; import { PublicKey } from '@solana/web3.js'; import { State as StoreState } from '../../store/reducer'; import { toDisplay } from '../../utils/tokens'; type Props = { style?: any; mint?: PublicKey | null; decimals?: number; variant?: 'outlined' | 'standard'; onChange: (from: PublicKey, maxAmount: BN) => void; }; export default function OwnedTokenAccountsSelect(p: Props) { const { mint, decimals, variant, onChange, style } = p; const ownedTokenAccounts = useSelector((state: StoreState) => { if (!mint) { return []; } return state.common.ownedTokenAccounts.filter( ota => ota.account.mint.toString() === mint.toString(), ); }); const [fromAccount, setFromAccount] = useState(''); return ( ); }