import { algo, AlgorandClient } from '@algorandfoundation/algokit-utils' import { useWallet } from '@txnlab/use-wallet-react' import { useSnackbar } from 'notistack' import { useState } from 'react' import { getAlgodConfigFromViteEnvironment } from '../utils/network/getAlgoClientConfigs' interface TransactInterface { openModal: boolean setModalState: (value: boolean) => void } const Transact = ({ openModal, setModalState }: TransactInterface) => { const [loading, setLoading] = useState(false) const [receiverAddress, setReceiverAddress] = useState('') const algodConfig = getAlgodConfigFromViteEnvironment() const algorand = AlgorandClient.fromConfig({ algodConfig }) const { enqueueSnackbar } = useSnackbar() const { transactionSigner, activeAddress } = useWallet() const handleSubmitAlgo = async () => { setLoading(true) if (!transactionSigner || !activeAddress) { enqueueSnackbar('Please connect wallet first', { variant: 'warning' }) return } try { enqueueSnackbar('Sending transaction...', { variant: 'info' }) const result = await algorand.send.payment({ signer: transactionSigner, sender: activeAddress, receiver: receiverAddress, amount: algo(1), }) enqueueSnackbar(`Transaction sent: ${result.txIds[0]}`, { variant: 'success' }) setReceiverAddress('') } catch (e) { enqueueSnackbar('Failed to send transaction', { variant: 'error' }) } setLoading(false) } return (

Send payment transaction


{ setReceiverAddress(e.target.value) }} />
) } export default Transact