From 5dea0a72503144a72be7c30b547c8a32674522c1 Mon Sep 17 00:00:00 2001 From: Zak Date: Tue, 19 Nov 2024 16:06:50 +0000 Subject: [PATCH] feat: use usd vault manager for v4 send vault --- src/components/vault/VaultSend.jsx | 27 ++++++++++++++++++++++++--- src/pages/vault/Vault.jsx | 1 + 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/components/vault/VaultSend.jsx b/src/components/vault/VaultSend.jsx index 9088bd8..9717cda 100644 --- a/src/components/vault/VaultSend.jsx +++ b/src/components/vault/VaultSend.jsx @@ -14,6 +14,7 @@ import { import { useContractAddressStore, useVaultManagerAbiStore, + usesUSDContractAddressStore, } from "../../store/Store"; import SendModal from "./SendModal"; @@ -24,9 +25,18 @@ import Button from "../ui/Button"; const VaultSend = ({ currentVault, vaultId, - address + address, + vaultType, }) => { - const { arbitrumSepoliaContractAddress, arbitrumContractAddress } = useContractAddressStore(); + const { + arbitrumSepoliaContractAddress, + arbitrumContractAddress + } = useContractAddressStore(); + const { + arbitrumsUSDSepoliaContractAddress, + arbitrumsUSDContractAddress, + } = usesUSDContractAddressStore(); + const { vaultManagerAbi } = useVaultManagerAbiStore(); const navigate = useNavigate(); @@ -39,6 +49,11 @@ const VaultSend = ({ ? arbitrumSepoliaContractAddress : arbitrumContractAddress; + const sUSDVaultManagerAddress = + chainId === arbitrumSepolia.id + ? arbitrumsUSDSepoliaContractAddress + : arbitrumsUSDContractAddress; + const [sendTo, setSendTo] = useState(''); const [sendType, setSendType] = useState(undefined); @@ -47,6 +62,12 @@ const VaultSend = ({ setSendType(undefined); }; + let useVaultManagerAddress = vaultManagerAddress; + + if (vaultType === 'USDs') { + useVaultManagerAddress = sUSDVaultManagerAddress; + } + const handleSendVault = async () => { const burnAddress = `0x000000000000000000000000000000000000dEaD`; @@ -60,7 +81,7 @@ const VaultSend = ({ try { writeContract({ abi: vaultManagerAbi, - address: vaultManagerAddress, + address: useVaultManagerAddress, functionName: "transferFrom", args: [ address, // from diff --git a/src/pages/vault/Vault.jsx b/src/pages/vault/Vault.jsx index 148431c..16ac36d 100644 --- a/src/pages/vault/Vault.jsx +++ b/src/pages/vault/Vault.jsx @@ -318,6 +318,7 @@ const Vault = () => { currentVault={currentVault} vaultId={vaultId} address={address} + vaultType={vaultType} />