From 666a4d12d54ee9f5d8e5972e8b3985416ed6b602 Mon Sep 17 00:00:00 2001 From: Reisen Date: Mon, 30 Aug 2021 20:09:23 +0000 Subject: [PATCH] bridge_ui: fetch destination asset balance Change-Id: Ib7581e8d4c6cae57ba50d2280badb79619dfe4ff --- bridge_ui/src/hooks/useGetBalanceEffect.ts | 66 ++++++++++++---------- bridge_ui/src/hooks/useHandleTransfer.ts | 1 - 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/bridge_ui/src/hooks/useGetBalanceEffect.ts b/bridge_ui/src/hooks/useGetBalanceEffect.ts index a688d1de7..a9aec2448 100644 --- a/bridge_ui/src/hooks/useGetBalanceEffect.ts +++ b/bridge_ui/src/hooks/useGetBalanceEffect.ts @@ -61,31 +61,34 @@ function useGetBalanceEffect(sourceOrTarget: "source" | "target") { let cancelled = false; if (lookupChain === CHAIN_ID_TERRA && terraWallet) { - lcd.bank.balance(terraWallet.terraAddress).then((value) => { - console.log(lookupAsset); - console.log(value.toIntCoins()); - }); - - dispatch( - setAction( - // TODO: Replace with the following once LCD lookup in place. - // createParsedTokenAccount( - // undefined, - // n.toString(), - // decimals, - // Number(formatUnits(n, decimals)), - // formatUnits(n, decimals) - // ) - createParsedTokenAccount( - "", - "", - "100000", - 5, - Number(formatUnits(100000, 5)), - formatUnits(100000, 5) - ) - ) - ); + lcd.wasm + .contractQuery(lookupAsset, { + token_info: {}, + }) + .then((info: any) => + lcd.wasm + .contractQuery(lookupAsset, { + balance: { + address: terraWallet.walletAddress, + }, + }) + .then((balance: any) => { + if (balance && info) { + dispatch( + setAction( + createParsedTokenAccount( + "", + "", + balance.balance.toString(), + info.decimals, + Number(formatUnits(balance.balance, info.decimals)), + formatUnits(balance.balance, info.decimals) + ) + ) + ); + } + }) + ); } if (lookupChain === CHAIN_ID_SOLANA && solPK) { let mint; @@ -158,15 +161,16 @@ function useGetBalanceEffect(sourceOrTarget: "source" | "target") { }; }, [ dispatch, - solanaWallet, - terraWallet, - sourceOrTarget, - setAction, - lookupChain, + lcd, lookupAsset, - solPK, + lookupChain, provider, + setAction, signerAddress, + solanaWallet, + solPK, + sourceOrTarget, + terraWallet, ]); } diff --git a/bridge_ui/src/hooks/useHandleTransfer.ts b/bridge_ui/src/hooks/useHandleTransfer.ts index de65b2013..ffd3c36d4 100644 --- a/bridge_ui/src/hooks/useHandleTransfer.ts +++ b/bridge_ui/src/hooks/useHandleTransfer.ts @@ -15,7 +15,6 @@ import { } from "@certusone/wormhole-sdk"; import { WalletContextState } from "@solana/wallet-adapter-react"; import { Connection } from "@solana/web3.js"; -import * as bech32 from "bech32"; import { ConnectedWallet, useConnectedWallet,