mirror of
https://github.com/Instadapp/assembly.git
synced 2024-07-29 22:37:06 +00:00
handle dsa cast on receipt
This commit is contained in:
parent
27fe5f6e94
commit
77801cb1db
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -7,7 +7,9 @@
|
|||
<template #icon
|
||||
><IconCurrency :currency="debtToken.key" class="w-16 h-16" noHeight
|
||||
/></template>
|
||||
<template #value>{{ formatDecimal(changedDebt) }} {{ debtToken.symbol }}</template>
|
||||
<template #value
|
||||
>{{ formatDecimal(changedDebt) }} {{ debtToken.symbol }}</template
|
||||
>
|
||||
</SidebarSectionValueWithIcon>
|
||||
|
||||
<SidebarSectionValueWithIcon class="" label="Token Balance" center>
|
||||
|
@ -15,7 +17,9 @@
|
|||
><IconCurrency :currency="debtToken.key" class="w-16 h-16" noHeight
|
||||
/></template>
|
||||
|
||||
<template #value>{{ formatDecimal(changedBalance) }} {{ debtToken.symbol }}</template>
|
||||
<template #value
|
||||
>{{ formatDecimal(changedBalance) }} {{ debtToken.symbol }}</template
|
||||
>
|
||||
</SidebarSectionValueWithIcon>
|
||||
</div>
|
||||
|
||||
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -15,9 +15,7 @@
|
|||
><IconCurrency :currency="daiTokenKey" class="w-20 h-20" noHeight
|
||||
/></template>
|
||||
|
||||
<template #value
|
||||
>{{ formatNumber(balance) }} {{ symbol }}</template
|
||||
>
|
||||
<template #value>{{ formatNumber(balance) }} {{ symbol }}</template>
|
||||
</SidebarSectionValueWithIcon>
|
||||
</div>
|
||||
|
||||
|
@ -54,7 +52,10 @@
|
|||
:status="status"
|
||||
/>
|
||||
|
||||
<SidebarSectionValueWithIcon class="mt-8" :label="`Liquidation Price (${tokenSymbol})`">
|
||||
<SidebarSectionValueWithIcon
|
||||
class="mt-8"
|
||||
:label="`Liquidation Price (${tokenSymbol})`"
|
||||
>
|
||||
<template #value>
|
||||
{{ formatUsdMax(liquidationPrice, liquidationMaxPrice) }}
|
||||
<span class="text-primary-gray"
|
||||
|
@ -113,9 +114,9 @@ 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 { debt, collateral, liquidation, liquidationMaxPrice, vaultId, symbol: tokenSymbol } = useMakerdaoPosition()
|
||||
const { debt, collateral, liquidation, liquidationMaxPrice, vaultId, symbol: tokenSymbol, fetchPosition, minDebt } = useMakerdaoPosition()
|
||||
|
||||
const amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
@ -129,7 +130,7 @@ export default defineComponent({
|
|||
const balance = computed(() => getBalanceByKey(tokenKey.value))
|
||||
const balanceRaw = computed(() => getBalanceRawByKey(tokenKey.value))
|
||||
|
||||
const changedDebt = computed(() => plus(debt.value, amountParsed.value).toFixed())
|
||||
const changedDebt = computed(() => max(minus(debt.value, amountParsed.value), '0').toFixed())
|
||||
const { liquidationPrice, status } = useMakerdaoPosition(collateral, changedDebt)
|
||||
|
||||
const maxBalance = computed(() => min(balance.value, debt.value).toFixed())
|
||||
|
@ -156,7 +157,7 @@ export default defineComponent({
|
|||
|
||||
const amount = isMaxAmount.value
|
||||
? gte(balance.value, balance.value)
|
||||
? $dsa().maxValue
|
||||
? dsa.value.maxValue
|
||||
: balanceRaw.value
|
||||
: valInt(amountParsed.value, decimals.value)
|
||||
|
||||
|
@ -172,10 +173,17 @@ 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)
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
showWarning(error.message)
|
||||
}
|
||||
|
||||
|
@ -205,6 +213,7 @@ export default defineComponent({
|
|||
pending,
|
||||
toggle,
|
||||
tokenSymbol,
|
||||
minDebt,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
|
|
@ -94,17 +94,17 @@ export default defineComponent({
|
|||
const { account } = useWeb3()
|
||||
const { dsa } = useDSA()
|
||||
const { valInt } = useToken()
|
||||
const { getBalanceByKey } = useBalances()
|
||||
const { getBalanceByKey, fetchBalances } = useBalances()
|
||||
const { formatUsdMax, formatUsd, formatDecimal } = useFormatting()
|
||||
const { plus, isZero } = useBigNumber()
|
||||
const { parseSafeFloat } = useParsing()
|
||||
const { showPendingTransaction, showWarning } = useNotification()
|
||||
const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification()
|
||||
|
||||
|
||||
const amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
||||
const { tokenKey, token, debt, collateral, liquidation, liquidationMaxPrice, isNewVault, vaultId, vaultType } = useMakerdaoPosition()
|
||||
const { tokenKey, token, debt, collateral, liquidation, liquidationMaxPrice, isNewVault, vaultId, vaultType, fetchPosition} = useMakerdaoPosition()
|
||||
|
||||
const symbol = computed(() => token.value?.symbol)
|
||||
const decimals = computed(() => token.value?.decimals)
|
||||
|
@ -161,6 +161,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)
|
||||
|
|
|
@ -85,6 +85,7 @@ import { useNotification } from '~/composables/useNotification'
|
|||
import Button from '~/components/Button.vue'
|
||||
import { useSidebar } from '~/composables/useSidebar'
|
||||
import { useMakerdaoPosition } from '~/composables/protocols/useMakerdaoPosition'
|
||||
import { useBalances } from '~/composables/useBalances'
|
||||
|
||||
export default defineComponent({
|
||||
components: { InputNumeric, ToggleButton, ButtonCTA, Button },
|
||||
|
@ -93,15 +94,16 @@ export default defineComponent({
|
|||
const { account } = useWeb3()
|
||||
const { dsa } = useDSA()
|
||||
const { valInt } = useToken()
|
||||
const { fetchBalances } = useBalances()
|
||||
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 amount = ref('')
|
||||
const amountParsed = computed(() => parseSafeFloat(amount.value))
|
||||
|
||||
const { tokenKey, token, debt, collateral, liquidation, liquidationMaxPrice, vaultId } = useMakerdaoPosition()
|
||||
const { tokenKey, token, debt, collateral, liquidation, liquidationMaxPrice, vaultId, fetchPosition } = useMakerdaoPosition()
|
||||
|
||||
const symbol = computed(() => token.value?.symbol)
|
||||
const decimals = computed(() => token.value?.decimals)
|
||||
|
@ -142,10 +144,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)
|
||||
|
|
|
@ -199,6 +199,7 @@ export function useLiquityPosition(
|
|||
);
|
||||
|
||||
return {
|
||||
fetchPosition,
|
||||
troveOpened,
|
||||
netValue,
|
||||
borrowFee,
|
||||
|
|
|
@ -109,7 +109,7 @@ export function useMakerdaoPosition(
|
|||
});
|
||||
|
||||
const debt = computed(() => ensureValue(vault.value.debt).toFixed());
|
||||
const minDebt = computed(() => vaultTypes.value[0]?.totalFloor || "5000");
|
||||
const minDebt = computed(() => vaultTypes.value[0]?.totalFloor.toString() || "5000");
|
||||
const debtCeilingReached = computed(() =>
|
||||
vaultTypes.value?.some(v =>
|
||||
gt(v.overallTotalDebt, v.overallTotalDebtCeiling)
|
||||
|
|
|
@ -58,6 +58,7 @@ import { useDSA } from "~/composables/useDSA";
|
|||
import { use1InchSwap } from "~/composables/swap/use1InchSwap";
|
||||
import { useWeb3 } from "~/composables/useWeb3";
|
||||
import { useNotification } from "~/composables/useNotification";
|
||||
import { useBalances } from "~/composables/useBalances";
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
|
@ -71,7 +72,8 @@ export default defineComponent({
|
|||
const { dsa } = useDSA();
|
||||
const { getSellSpell } = use1InchSwap();
|
||||
const { account } = useWeb3();
|
||||
const { showPendingTransaction, showWarning } = useNotification();
|
||||
const { fetchBalances } = useBalances();
|
||||
const { showPendingTransaction, showConfirmedTransaction, showWarning } = useNotification();
|
||||
const { valInt } = useToken();
|
||||
const sellToken = ref();
|
||||
const buyToken = ref();
|
||||
|
@ -96,7 +98,7 @@ export default defineComponent({
|
|||
getSellSpell({
|
||||
buyAddr: buyToken.value.address,
|
||||
sellAddr: sellToken.value.address,
|
||||
sellAmt: valInt(sellToken.value.amount, sellToken.value.decimals),
|
||||
sellAmt: valInt(sellToken.value.amount, sellToken.value.decimals),
|
||||
unitAmt: caculateUnitAmt(),
|
||||
calldata: result.tx.data,
|
||||
setId: 0
|
||||
|
@ -106,7 +108,12 @@ export default defineComponent({
|
|||
try {
|
||||
const txHash = await dsa.value.cast({
|
||||
spells,
|
||||
from: account.value
|
||||
from: account.value,
|
||||
onReceipt: async receipt => {
|
||||
showConfirmedTransaction(receipt.transactionHash);
|
||||
|
||||
await fetchBalances(true);
|
||||
}
|
||||
});
|
||||
|
||||
showPendingTransaction(txHash);
|
||||
|
|
Loading…
Reference in New Issue
Block a user