diff --git a/packages/bridge/src/hooks/useLockedFundsAccounts.tsx b/packages/bridge/src/hooks/useLockedFundsAccounts.tsx index 6d33e4c..d940812 100644 --- a/packages/bridge/src/hooks/useLockedFundsAccounts.tsx +++ b/packages/bridge/src/hooks/useLockedFundsAccounts.tsx @@ -4,6 +4,8 @@ import * as BufferLayout from 'buffer-layout' import {WORMHOLE_PROGRAM_ID} from "../utils/ids"; import BN from "bn.js"; import {ASSET_CHAIN, getAssetAmountInUSD, getAssetName, getAssetTokenSymbol} from "../utils/assets"; +import { useEthereum } from "../contexts"; +import { PublicKey } from "@solana/web3.js"; const { useConnection } = contexts.Connection; @@ -13,8 +15,8 @@ interface ParsedData { parsedAssetAddress: string, parsedAccount: any, assetDecimals: number, - tokenName: string, - tokenSymbol: string, + name: string, + symbol: string, sourceAddress: string, targetAddress: string, amountInUSD: number, @@ -22,6 +24,7 @@ interface ParsedData { export const useLockedFundsAccounts = () => { const connection = useConnection(); + const { tokenMap: ethTokens } = useEthereum(); const [lockedSolanaAccounts, setLockedSolanaAccounts] = useState([]); const [loading, setLoading] = useState(true); @@ -59,17 +62,21 @@ export const useLockedFundsAccounts = () => { const dec = new BN(10).pow(new BN(parsedAccount.assetDecimals)); const rawAmount = new BN(parsedAccount.amount, 2, "le") const amount = rawAmount.div(dec).toNumber(); - const parsedAssetAddress: string = new Buffer(parsedAccount.assetAddress.slice(12)).toString("hex") + const parsedAssetAddress: string = parsedAccount.assetChain === ASSET_CHAIN.Solana ? + new PublicKey(parsedAccount.targetAddress).toString() : + new Buffer(parsedAccount.assetAddress.slice(12)).toString("hex") const parsedData: ParsedData = { amount: amount, rawAmount: rawAmount.toString(), parsedAssetAddress: parsedAssetAddress, parsedAccount: parsedAccount, assetDecimals: parsedAccount.assetDecimals, - sourceAddress: new Buffer(parsedAccount.sourceAddress.slice(12)).toString("hex"), - targetAddress: new Buffer(parsedAccount.targetAddress.slice(12)).toString("hex"), - tokenName: getAssetName(parsedAssetAddress, parsedAccount.assetChain), - tokenSymbol: getAssetTokenSymbol(parsedAssetAddress, parsedAccount.assetChain), + sourceAddress: new PublicKey(parsedAccount.sourceAddress).toString(), + targetAddress: parsedAccount.toChain === ASSET_CHAIN.Solana ? + new PublicKey(parsedAccount.targetAddress).toString() + : new Buffer(parsedAccount.targetAddress.slice(12)).toString("hex"), + name: getAssetName(parsedAssetAddress, parsedAccount.assetChain), + symbol: getAssetTokenSymbol(parsedAssetAddress, parsedAccount.assetChain), amountInUSD: getAssetAmountInUSD(amount, parsedAssetAddress, parsedAccount.assetChain), }; filteredParsedAccounts.push(parsedData) @@ -92,4 +99,4 @@ export const useLockedFundsAccounts = () => { return acc + val.amountInUSD; }, 0) }; -} \ No newline at end of file +} diff --git a/packages/bridge/src/views/home/index.tsx b/packages/bridge/src/views/home/index.tsx index 62a96b1..e938876 100644 --- a/packages/bridge/src/views/home/index.tsx +++ b/packages/bridge/src/views/home/index.tsx @@ -86,12 +86,13 @@ export const HomeView = () => { return lockedSolanaAccounts.map((acc, index) => { return { key: index.toString(), - symbol: acc.tokenSymbol, - name: acc.tokenName, + symbol: acc.symbol, + name: acc.name, amount: acc.amountInUSD, - sourceAddress: acc.parsedAccount.assetChain === ASSET_CHAIN.Solana ? - : - , + assetAddress: acc.parsedAccount.assetChain === ASSET_CHAIN.Solana ? + : + , + sourceAddress: , targetAddress: acc.parsedAccount.toChain === ASSET_CHAIN.Solana ? : , @@ -115,6 +116,11 @@ export const HomeView = () => { dataIndex: 'amount', key: 'amount', }, + { + title: 'Asset Address', + dataIndex: 'assetAddress', + key: 'assetAddress', + }, { title: 'Source Address', dataIndex: 'sourceAddress',