diff --git a/components/sidebar/context/aaveV2/SidebarAaveV2Borrow.vue b/components/sidebar/context/aaveV2/SidebarAaveV2Borrow.vue index 2c32f5e..6d07c7e 100644 --- a/components/sidebar/context/aaveV2/SidebarAaveV2Borrow.vue +++ b/components/sidebar/context/aaveV2/SidebarAaveV2Borrow.vue @@ -98,8 +98,10 @@ export default defineComponent({ const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, plus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() - const { status, displayPositions, liquidation, maxLiquidation, liquidationPrice, liquidationMaxPrice, annualPercentageRateTypes } = useAaveV2Position({ + const { showPendingTransaction, showWarning, showConfirmedTransaction } = useNotification() + const { fetchBalances } = useBalances(); + + const { status, displayPositions, liquidation, maxLiquidation, liquidationPrice, liquidationMaxPrice, annualPercentageRateTypes, refreshPosition } = useAaveV2Position({ overridePosition: (position) => { if (rootTokenKey.value !== position.key) return position @@ -176,6 +178,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/aaveV2/SidebarAaveV2Payback.vue b/components/sidebar/context/aaveV2/SidebarAaveV2Payback.vue index 68344d8..94b063a 100644 --- a/components/sidebar/context/aaveV2/SidebarAaveV2Payback.vue +++ b/components/sidebar/context/aaveV2/SidebarAaveV2Payback.vue @@ -122,8 +122,8 @@ export default defineComponent({ const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, plus, max, minus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() - const { status, displayPositions, liquidation, maxLiquidation, liquidationPrice, liquidationMaxPrice, annualPercentageRateTypes } = useAaveV2Position({ + const { showPendingTransaction, showWarning, showConfirmedTransaction } = useNotification() + const { status, displayPositions, liquidation, maxLiquidation, liquidationPrice, liquidationMaxPrice, annualPercentageRateTypes, refreshPosition } = useAaveV2Position({ overridePosition: (position) => { if (rootTokenKey.value !== position.key) return position @@ -213,6 +213,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/aaveV2/SidebarAaveV2Withdraw.vue b/components/sidebar/context/aaveV2/SidebarAaveV2Withdraw.vue index 278deff..678c41a 100644 --- a/components/sidebar/context/aaveV2/SidebarAaveV2Withdraw.vue +++ b/components/sidebar/context/aaveV2/SidebarAaveV2Withdraw.vue @@ -103,9 +103,11 @@ export default defineComponent({ const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, plus, max, minus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() + const { fetchBalances } = useBalances(); + const originalBalance = ref('0') - const { stats, status, displayPositions, maxLiquidation, liquidationPrice, liquidationMaxPrice } = useAaveV2Position({ + const { stats, status, displayPositions, maxLiquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useAaveV2Position({ overridePosition: (position) => { if (rootTokenKey.value !== position.key) return position @@ -182,6 +184,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/compound/SidebarCompoundBorrow.vue b/components/sidebar/context/compound/SidebarCompoundBorrow.vue index be39e8f..251c487 100644 --- a/components/sidebar/context/compound/SidebarCompoundBorrow.vue +++ b/components/sidebar/context/compound/SidebarCompoundBorrow.vue @@ -75,6 +75,7 @@ import { useSidebar } from '~/composables/useSidebar' import { useCompoundPosition } from '~/composables/protocols/useCompoundPosition' import ctokens from '~/constant/ctokens' import tokenIdMapping from '~/constant/tokenIdMapping' +import { useBalances } from '~/composables/useBalances' export default defineComponent({ components: { InputNumeric, ToggleButton, ButtonCTA, Button }, @@ -86,17 +87,18 @@ export default defineComponent({ const { networkName, account } = useWeb3() const { dsa } = useDSA() const { getTokenByKey, valInt } = useToken() + const { fetchBalances } = useBalances() const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, div, plus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const tokenId = computed(() => props.tokenId) const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value]) const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth') - const { stats, status: initialStatus, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice } = useCompoundPosition({ + const { stats, status: initialStatus, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({ overridePosition: (position) => { if (tokenId.value !== position.cTokenId) return position @@ -158,6 +160,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/compound/SidebarCompoundPayback.vue b/components/sidebar/context/compound/SidebarCompoundPayback.vue index c9c8a59..af7d811 100644 --- a/components/sidebar/context/compound/SidebarCompoundPayback.vue +++ b/components/sidebar/context/compound/SidebarCompoundPayback.vue @@ -115,14 +115,14 @@ export default defineComponent({ const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gte, plus, max, minus, min } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning} = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const tokenId = computed(() => props.tokenId) const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value]) const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth') - const { status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice } = useCompoundPosition({ + const { status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({ overridePosition: (position) => { if (tokenId.value !== position.cTokenId) return position @@ -188,10 +188,16 @@ export default defineComponent({ args: [tokenId.value, amount, 0, 0], }) - try { + try { const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/compound/SidebarCompoundSupply.vue b/components/sidebar/context/compound/SidebarCompoundSupply.vue index 5e4b59f..d62f1f8 100644 --- a/components/sidebar/context/compound/SidebarCompoundSupply.vue +++ b/components/sidebar/context/compound/SidebarCompoundSupply.vue @@ -103,14 +103,14 @@ export default defineComponent({ const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, plus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const tokenId = computed(() => props.tokenId) const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value]) const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth') - const { status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice } = useCompoundPosition({ + const { status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({ overridePosition: (position) => { if (tokenId.value !== position.cTokenId) return position @@ -173,6 +173,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/compound/SidebarCompoundWithdraw.vue b/components/sidebar/context/compound/SidebarCompoundWithdraw.vue index 719729b..c49e3d4 100644 --- a/components/sidebar/context/compound/SidebarCompoundWithdraw.vue +++ b/components/sidebar/context/compound/SidebarCompoundWithdraw.vue @@ -89,6 +89,7 @@ import { useSidebar } from '~/composables/useSidebar' import tokenIdMapping from '~/constant/tokenIdMapping' import ctokens from '~/constant/ctokens' import { useCompoundPosition } from '~/composables/protocols/useCompoundPosition' +import { useBalances } from '~/composables/useBalances' export default defineComponent({ components: { InputNumeric, ToggleButton, ButtonCTA, Button }, @@ -99,11 +100,12 @@ export default defineComponent({ const { close } = useSidebar() const { networkName, account } = useWeb3() const { dsa } = useDSA() + const { fetchBalances } = useBalances() const { getTokenByKey, valInt } = useToken() const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, plus, max, minus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const originalBalance = ref('0') const tokenId = computed(() => props.tokenId) const tokenKey = computed(() => tokenIdMapping.idToToken[tokenId.value]) @@ -111,7 +113,7 @@ export default defineComponent({ const rootTokenKey = computed(() => ctokens[networkName.value].rootTokens.includes(tokenKey.value) ? tokenKey.value : 'eth') - const { stats, status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice } = useCompoundPosition({ + const { stats, status, position, displayPositions, liquidation, liquidationPrice, liquidationMaxPrice, refreshPosition } = useCompoundPosition({ overridePosition: (position) => { if (tokenId.value !== position.cTokenId) return position originalBalance.value = position.supply @@ -176,6 +178,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await refreshPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/liquity/SidebarLiquityTroveBorrow.vue b/components/sidebar/context/liquity/SidebarLiquityTroveBorrow.vue index 5c1dbba..6876d90 100644 --- a/components/sidebar/context/liquity/SidebarLiquityTroveBorrow.vue +++ b/components/sidebar/context/liquity/SidebarLiquityTroveBorrow.vue @@ -115,9 +115,9 @@ export default defineComponent({ const { formatPercent, formatNumber, formatDecimal, formatUsdMax, formatUsd } = useFormatting() const { plus, times, isZero, max, min } = useBigNumber() const { parseSafeFloat } = useParsing() - const { getBalanceByKey } = useBalances() + const { getBalanceByKey, fetchBalances } = useBalances() const { valInt } = useToken() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const { dsa } = useDSA() const amount = ref('') @@ -134,6 +134,7 @@ export default defineComponent({ maxFeePercentageInWei, getTrovePositionHints, borrowFee, + fetchPosition, } = useLiquityPosition() const balance = computed(() => getBalanceByKey(debtToken.value.key)) @@ -184,6 +185,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await fetchPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/liquity/SidebarLiquityTroveOpenNew.vue b/components/sidebar/context/liquity/SidebarLiquityTroveOpenNew.vue index f63a1cc..89418ef 100644 --- a/components/sidebar/context/liquity/SidebarLiquityTroveOpenNew.vue +++ b/components/sidebar/context/liquity/SidebarLiquityTroveOpenNew.vue @@ -126,9 +126,9 @@ export default defineComponent({ const { formatPercent, formatNumber, formatDecimal, formatUsdMax, formatUsd } = useFormatting() const { plus, times, isZero } = useBigNumber() const { parseSafeFloat } = useParsing() - const { getBalanceByKey } = useBalances() + const { getBalanceByKey, fetchBalances } = useBalances() const { valInt } = useToken() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const { dsa } = useDSA() const { @@ -140,6 +140,7 @@ export default defineComponent({ borrowFee, maxFeePercentageInWei, getTrovePositionHints, + fetchPosition, } = useLiquityPosition() const collateralAmount = ref('') @@ -214,6 +215,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await fetchPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/liquity/SidebarLiquityTrovePayback.vue b/components/sidebar/context/liquity/SidebarLiquityTrovePayback.vue index dd9fdf4..60687c5 100644 --- a/components/sidebar/context/liquity/SidebarLiquityTrovePayback.vue +++ b/components/sidebar/context/liquity/SidebarLiquityTrovePayback.vue @@ -7,7 +7,9 @@ - + @@ -15,7 +17,9 @@ > - + @@ -107,11 +111,11 @@ export default defineComponent({ const { networkName, account } = useWeb3() const { dsa } = useDSA() const { valInt } = useToken() - const { getBalanceByKey } = useBalances() + const { getBalanceByKey, fetchBalances } = useBalances() const { formatDecimal, formatUsdMax, formatUsd } = useFormatting() const { isZero, gte, plus, max, minus, min } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const amount = ref('') const amountParsed = computed(() => parseSafeFloat(amount.value)) @@ -125,6 +129,7 @@ export default defineComponent({ debtToken, collateralToken, getTrovePositionHints, + fetchPosition, } = useLiquityPosition() const balance = computed(() => getBalanceByKey(debtToken.value.key)) @@ -175,6 +180,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await fetchPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/liquity/SidebarLiquityTroveSupply.vue b/components/sidebar/context/liquity/SidebarLiquityTroveSupply.vue index d23d9a9..78b4a4e 100644 --- a/components/sidebar/context/liquity/SidebarLiquityTroveSupply.vue +++ b/components/sidebar/context/liquity/SidebarLiquityTroveSupply.vue @@ -99,11 +99,11 @@ export default defineComponent({ const { account } = useWeb3() const { dsa } = useDSA() const { valInt } = useToken() - const { getBalanceByKey } = useBalances() + const { getBalanceByKey, fetchBalances } = useBalances() const { formatDecimal, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, plus, max, minus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const amount = ref('') const amountParsed = computed(() => parseSafeFloat(amount.value)) @@ -117,6 +117,7 @@ export default defineComponent({ liquidation, liquidationMaxPrice, getTrovePositionHints, + fetchPosition, } = useLiquityPosition() const changedCollateral = computed(() => max(plus(collateral.value, amountParsed.value), '0').toFixed()) @@ -147,7 +148,7 @@ export default defineComponent({ pending.value = true try { const inputAmountInWei = valInt(amountParsed.value, collateralToken.value.decimals) - console.log(inputAmountInWei); + const totalDepositAmountInWei = plus(inputAmountInWei, collateralInWei.value).toFixed() const { upperHint, lowerHint } = await getTrovePositionHints(totalDepositAmountInWei, debtInWei.value) @@ -166,6 +167,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await fetchPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/liquity/SidebarLiquityTroveWithdraw.vue b/components/sidebar/context/liquity/SidebarLiquityTroveWithdraw.vue index 94fcfc6..05951aa 100644 --- a/components/sidebar/context/liquity/SidebarLiquityTroveWithdraw.vue +++ b/components/sidebar/context/liquity/SidebarLiquityTroveWithdraw.vue @@ -104,6 +104,7 @@ import { useNotification } from '~/composables/useNotification' import Button from '~/components/Button.vue' import { useSidebar } from '~/composables/useSidebar' import { useLiquityPosition } from '~/composables/protocols/useLiquityPosition' +import { useBalances } from '~/composables/useBalances' export default defineComponent({ components: { InputNumeric, ToggleButton, ButtonCTA, Button }, @@ -112,7 +113,8 @@ export default defineComponent({ const { account } = useWeb3() const { dsa } = useDSA() const { valInt } = useToken() - const { showPendingTransaction, showWarning } = useNotification() + const { fetchBalances } = useBalances() + const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification() const { formatUsd, formatUsdMax, formatDecimal, formatNumber } = useFormatting() const { parseSafeFloat } = useParsing() const { isZero, minus, max, plus } = useBigNumber() @@ -129,6 +131,7 @@ export default defineComponent({ liquidation, liquidationMaxPrice, getTrovePositionHints, + fetchPosition, } = useLiquityPosition() const changedCollateral = computed(() => max(minus(collateral.value, amountParsed.value), '0').toFixed()) @@ -159,7 +162,7 @@ export default defineComponent({ async function cast() { pending.value = true - const inputAmountInWei = valInt(amountParsed.value,collateralToken.value.decimals) + const inputAmountInWei = valInt(amountParsed.value, collateralToken.value.decimals) const totalDepositAmountInWei = minus(collateralInWei.value, inputAmountInWei).toFixed() const { upperHint, lowerHint } = await getTrovePositionHints(totalDepositAmountInWei, debtInWei.value) @@ -167,7 +170,7 @@ export default defineComponent({ const setId = 0 const spells = dsa.value.Spell() - + spells.add({ connector: 'LIQUITY-A', method: 'withdraw', @@ -178,6 +181,12 @@ export default defineComponent({ const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await fetchPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/makerdao/SidebarMakerdaoBorrow.vue b/components/sidebar/context/makerdao/SidebarMakerdaoBorrow.vue index 7ae7eee..f0aacb9 100644 --- a/components/sidebar/context/makerdao/SidebarMakerdaoBorrow.vue +++ b/components/sidebar/context/makerdao/SidebarMakerdaoBorrow.vue @@ -78,6 +78,7 @@ import Button from '~/components/Button.vue' import { useSidebar } from '~/composables/useSidebar' import ctokens from '~/constant/ctokens' import { useMakerdaoPosition } from '~/composables/protocols/useMakerdaoPosition' +import { useBalances } from '~/composables/useBalances' export default defineComponent({ components: { InputNumeric, ToggleButton, ButtonCTA, Button }, @@ -89,16 +90,17 @@ export default defineComponent({ const { networkName, account } = useWeb3() const { dsa } = useDSA() const { getTokenByKey, valInt } = useToken() + const { fetchBalances } = useBalances() const { formatNumber, formatUsdMax, formatUsd } = useFormatting() const { isZero, gt, div, plus } = useBigNumber() const { parseSafeFloat } = useParsing() - const { showPendingTransaction, showWarning } = useNotification() + const { showPendingTransaction, showConfirmedTransaction , showWarning } = useNotification() const amount = ref('') const amountParsed = computed(() => parseSafeFloat(amount.value)) - const { debt, collateral, liquidation, liquidationMaxPrice, vault, vaultId, symbol: tokenSymbol } = useMakerdaoPosition({ + const { debt, collateral, liquidation, liquidationMaxPrice, vault, vaultId, symbol: tokenSymbol, fetchPosition } = useMakerdaoPosition({ overridePosition: (position) => { return position; }, @@ -148,10 +150,16 @@ export default defineComponent({ args: [vaultId.value, amount, 0, 0], }) - try { + try { const txHash = await dsa.value.cast({ spells, from: account.value, + onReceipt: async receipt => { + showConfirmedTransaction(receipt.transactionHash); + + await fetchBalances(true); + await fetchPosition(); + } }) showPendingTransaction(txHash) diff --git a/components/sidebar/context/makerdao/SidebarMakerdaoPayback.vue b/components/sidebar/context/makerdao/SidebarMakerdaoPayback.vue index 2af01c7..08f1330 100644 --- a/components/sidebar/context/makerdao/SidebarMakerdaoPayback.vue +++ b/components/sidebar/context/makerdao/SidebarMakerdaoPayback.vue @@ -15,9 +15,7 @@ > - + @@ -54,7 +52,10 @@ :status="status" /> - +