merge main

This commit is contained in:
saml33 2023-07-18 20:32:00 +10:00
commit c38dcb5428
4 changed files with 31 additions and 18 deletions

View File

@ -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))
)
}
>

View File

@ -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) {

View File

@ -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",

View File

@ -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"