merge main
This commit is contained in:
commit
c38dcb5428
|
@ -6,11 +6,7 @@ import { useViewport } from 'hooks/useViewport'
|
|||
import { useTranslation } from 'next-i18next'
|
||||
import { useRouter } from 'next/router'
|
||||
import { useCallback, useMemo } from 'react'
|
||||
import {
|
||||
floorToDecimal,
|
||||
formatNumericValue,
|
||||
getDecimalCount,
|
||||
} from 'utils/numbers'
|
||||
import { floorToDecimal, getDecimalCount } from 'utils/numbers'
|
||||
import { breakpoints } from 'utils/theme'
|
||||
import { calculateLimitPriceForMarketOrder } from 'utils/tradeForm'
|
||||
import { LinkButton } from './Button'
|
||||
|
@ -26,6 +22,9 @@ import useBanksWithBalances, {
|
|||
import useUnownedAccount from 'hooks/useUnownedAccount'
|
||||
import { Disclosure, Transition } from '@headlessui/react'
|
||||
import TokenLogo from './TokenLogo'
|
||||
import { PublicKey } from '@solana/web3.js'
|
||||
import { USDC_MINT } from 'utils/constants'
|
||||
import { WRAPPED_SOL_MINT } from '@project-serum/serum/lib/token-instructions'
|
||||
|
||||
const BalancesTable = () => {
|
||||
const { t } = useTranslation(['common', 'trade'])
|
||||
|
@ -257,12 +256,20 @@ const Balance = ({ bank }: { bank: BankWithBalance }) => {
|
|||
const handleSwapFormBalanceClick = useCallback(
|
||||
(balance: number) => {
|
||||
const set = mangoStore.getState().set
|
||||
const group = mangoStore.getState().group
|
||||
const swap = mangoStore.getState().swap
|
||||
const usdcBank = group?.getFirstBankByMint(new PublicKey(USDC_MINT))
|
||||
const solBank = group?.getFirstBankByMint(WRAPPED_SOL_MINT)
|
||||
if (balance >= 0) {
|
||||
set((s) => {
|
||||
s.swap.inputBank = tokenBank
|
||||
s.swap.amountIn = balance.toString()
|
||||
s.swap.amountOut = ''
|
||||
s.swap.swapMode = 'ExactIn'
|
||||
if (tokenBank.name === swap.outputBank?.name) {
|
||||
s.swap.outputBank =
|
||||
swap.outputBank.name === 'USDC' ? solBank : usdcBank
|
||||
}
|
||||
})
|
||||
} else {
|
||||
set((s) => {
|
||||
|
@ -270,6 +277,10 @@ const Balance = ({ bank }: { bank: BankWithBalance }) => {
|
|||
s.swap.amountIn = ''
|
||||
s.swap.amountOut = Math.abs(balance).toString()
|
||||
s.swap.swapMode = 'ExactOut'
|
||||
if (tokenBank.name === swap.inputBank?.name) {
|
||||
s.swap.inputBank =
|
||||
swap.inputBank.name === 'USDC' ? solBank : usdcBank
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
@ -310,7 +321,7 @@ const Balance = ({ bank }: { bank: BankWithBalance }) => {
|
|||
className="font-normal underline underline-offset-2 md:underline-offset-4 md:hover:no-underline"
|
||||
onClick={() =>
|
||||
handleSwapFormBalanceClick(
|
||||
Number(formatNumericValue(balance, tokenBank.mintDecimals))
|
||||
Number(floorToDecimal(balance, tokenBank.mintDecimals))
|
||||
)
|
||||
}
|
||||
>
|
||||
|
|
|
@ -119,12 +119,14 @@ const TradeSummary = ({
|
|||
? mangoAccount.simHealthRatioWithPerpAskUiChanges(
|
||||
group,
|
||||
selectedMarket.perpMarketIndex,
|
||||
parseFloat(tradeForm.baseSize) || 0
|
||||
parseFloat(tradeForm.baseSize) || 0,
|
||||
HealthType.maint
|
||||
)
|
||||
: mangoAccount.simHealthRatioWithPerpBidUiChanges(
|
||||
group,
|
||||
selectedMarket.perpMarketIndex,
|
||||
parseFloat(tradeForm.baseSize) || 0
|
||||
parseFloat(tradeForm.baseSize) || 0,
|
||||
HealthType.maint
|
||||
)
|
||||
}
|
||||
} catch (e) {
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
"node": ">=18.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"@blockworks-foundation/mango-v4": "^0.17.24",
|
||||
"@blockworks-foundation/mango-feeds": "0.1.7",
|
||||
"@blockworks-foundation/mango-v4": "^0.17.25",
|
||||
"@headlessui/react": "1.6.6",
|
||||
"@heroicons/react": "2.0.10",
|
||||
"@metaplex-foundation/js": "0.18.3",
|
||||
|
@ -70,7 +70,7 @@
|
|||
"react-number-format": "4.9.2",
|
||||
"react-tsparticles": "2.2.4",
|
||||
"react-window": "1.8.7",
|
||||
"recharts": "2.7.2",
|
||||
"recharts": "2.5.0",
|
||||
"tsparticles": "2.2.4",
|
||||
"walktour": "5.1.1",
|
||||
"webpack-node-externals": "3.0.0",
|
||||
|
|
16
yarn.lock
16
yarn.lock
|
@ -21,10 +21,10 @@
|
|||
dependencies:
|
||||
ws "^8.13.0"
|
||||
|
||||
"@blockworks-foundation/mango-v4@^0.17.24":
|
||||
version "0.17.24"
|
||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.17.24.tgz#fd00ed93aa5540b35478f4e5422dc386107606dc"
|
||||
integrity sha512-bR2C7n45HNJXsvQmuQDwCuPCk5gaAropNnI1KGdsUzrWfJmKjWcTPIeOLvAGO0r4WdYJS7GF6DMC6KIf6VFrag==
|
||||
"@blockworks-foundation/mango-v4@^0.17.25":
|
||||
version "0.17.25"
|
||||
resolved "https://registry.yarnpkg.com/@blockworks-foundation/mango-v4/-/mango-v4-0.17.25.tgz#00c082d5ec0a12aaf1a70d88930bc468e97467a1"
|
||||
integrity sha512-CJOoLuEVY2szMmZq+V/TZx3fSmkmy16OP3FPkA85nPfSXrgWsVhb2WaugN4VyT/1le3g1ppzNvosCfYV+n/XRQ==
|
||||
dependencies:
|
||||
"@coral-xyz/anchor" "^0.27.0"
|
||||
"@project-serum/serum" "0.13.65"
|
||||
|
@ -7577,10 +7577,10 @@ recharts-scale@^0.4.4:
|
|||
dependencies:
|
||||
decimal.js-light "^2.4.1"
|
||||
|
||||
recharts@2.7.2:
|
||||
version "2.7.2"
|
||||
resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.7.2.tgz#6d813681910ad33a4bbf3bdd06c6f64f20b39319"
|
||||
integrity sha512-HMKRBkGoOXHW+7JcRa6+MukPSifNtJlqbc+JreGVNA407VLE/vOP+8n3YYjprDVVIF9E2ZgwWnL3D7K/LUFzBg==
|
||||
recharts@2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.5.0.tgz#34452852509099502690f9d2a72bde1d4cd65648"
|
||||
integrity sha512-0EQYz3iA18r1Uq8VqGZ4dABW52AKBnio37kJgnztIqprELJXpOEsa0SzkqU1vjAhpCXCv52Dx1hiL9119xsqsQ==
|
||||
dependencies:
|
||||
classnames "^2.2.5"
|
||||
eventemitter3 "^4.0.1"
|
||||
|
|
Loading…
Reference in New Issue