diff --git a/bridge_ui/src/components/Attest/Send.tsx b/bridge_ui/src/components/Attest/Send.tsx index 6a475562..5399fb27 100644 --- a/bridge_ui/src/components/Attest/Send.tsx +++ b/bridge_ui/src/components/Attest/Send.tsx @@ -3,7 +3,6 @@ import { useCallback } from "react"; import { useDispatch, useSelector } from "react-redux"; import { useEthereumProvider } from "../../contexts/EthereumProviderContext"; import { useSolanaWallet } from "../../contexts/SolanaWalletContext"; -import useWrappedAsset from "../../hooks/useWrappedAsset"; import { setIsSending, setSignedVAAHex } from "../../store/attestSlice"; import { selectAttestIsSendComplete, @@ -11,7 +10,6 @@ import { selectAttestIsTargetComplete, selectAttestSourceAsset, selectAttestSourceChain, - selectAttestTargetChain, } from "../../store/selectors"; import { uint8ArrayToHex } from "../../utils/array"; import attestFrom, { @@ -35,21 +33,12 @@ function Send() { const dispatch = useDispatch(); const sourceChain = useSelector(selectAttestSourceChain); const sourceAsset = useSelector(selectAttestSourceAsset); - const targetChain = useSelector(selectAttestTargetChain); const isTargetComplete = useSelector(selectAttestIsTargetComplete); const isSending = useSelector(selectAttestIsSending); const isSendComplete = useSelector(selectAttestIsSendComplete); const { provider, signer } = useEthereumProvider(); const { wallet } = useSolanaWallet(); const solPK = wallet?.publicKey; - const { - isLoading: isCheckingWrapped, - // isWrapped, - wrappedAsset, - } = useWrappedAsset(targetChain, sourceChain, sourceAsset, provider); - // TODO: check this and send to separate flow - const isWrapped = true; - console.log(isCheckingWrapped, isWrapped, wrappedAsset); // TODO: dynamically get "to" wallet const handleAttestClick = useCallback(() => { // TODO: more generic way of calling these diff --git a/bridge_ui/src/components/Attest/index.tsx b/bridge_ui/src/components/Attest/index.tsx index 34e0d63b..a723b019 100644 --- a/bridge_ui/src/components/Attest/index.tsx +++ b/bridge_ui/src/components/Attest/index.tsx @@ -20,7 +20,7 @@ import Target from "./Target"; // TODO: ensure that both wallets are connected to the same known network function Attest() { - useGetBalanceEffect(); + useGetBalanceEffect("source"); const dispatch = useDispatch(); const activeStep = useSelector(selectAttestActiveStep); const signedVAAHex = useSelector(selectAttestSignedVAAHex); diff --git a/bridge_ui/src/components/Transfer/Redeem.tsx b/bridge_ui/src/components/Transfer/Redeem.tsx index ff684da0..dc1ecec8 100644 --- a/bridge_ui/src/components/Transfer/Redeem.tsx +++ b/bridge_ui/src/components/Transfer/Redeem.tsx @@ -2,15 +2,18 @@ import { Button, CircularProgress, makeStyles } from "@material-ui/core"; import { useCallback } from "react"; import { useDispatch, useSelector } from "react-redux"; import { useEthereumProvider } from "../../contexts/EthereumProviderContext"; +import { useSolanaWallet } from "../../contexts/SolanaWalletContext"; import useTransferSignedVAA from "../../hooks/useTransferSignedVAA"; import { selectTransferIsRedeeming, + selectTransferIsSourceAssetWormholeWrapped, + selectTransferOriginChain, + selectTransferTargetAsset, selectTransferTargetChain, } from "../../store/selectors"; import { setIsRedeeming } from "../../store/transferSlice"; import { CHAIN_ID_ETH, CHAIN_ID_SOLANA } from "../../utils/consts"; import redeemOn, { redeemOnEth, redeemOnSolana } from "../../utils/redeemOn"; -import { useSolanaWallet } from "../../contexts/SolanaWalletContext"; const useStyles = makeStyles((theme) => ({ transferButton: { @@ -23,7 +26,12 @@ const useStyles = makeStyles((theme) => ({ function Redeem() { const dispatch = useDispatch(); const classes = useStyles(); + const isSourceAssetWormholeWrapped = useSelector( + selectTransferIsSourceAssetWormholeWrapped + ); + const originChain = useSelector(selectTransferOriginChain); const targetChain = useSelector(selectTransferTargetChain); + const targetAsset = useSelector(selectTransferTargetAsset); const { wallet } = useSolanaWallet(); const solPK = wallet?.publicKey; const { provider, signer } = useEthereumProvider(); @@ -44,9 +52,26 @@ function Redeem() { signedVAA ) { dispatch(setIsRedeeming(true)); - redeemOnSolana(wallet, solPK?.toString(), signedVAA); + redeemOnSolana( + wallet, + solPK?.toString(), + signedVAA, + !!isSourceAssetWormholeWrapped && originChain === CHAIN_ID_SOLANA, + targetAsset || undefined + ); } - }, [dispatch, targetChain, provider, signer, signedVAA, wallet, solPK]); + }, [ + dispatch, + targetChain, + provider, + signer, + signedVAA, + wallet, + solPK, + isSourceAssetWormholeWrapped, + originChain, + targetAsset, + ]); return (