Skip to content

Commit a195ce2

Browse files
authored
Merge pull request #1536 from mars-protocol/develop
v2.10.2
2 parents 25c1d40 + 933ba05 commit a195ce2

File tree

31 files changed

+1631
-563
lines changed

31 files changed

+1631
-563
lines changed

package.json

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mars-v2-frontend",
3-
"version": "2.10.1",
3+
"version": "2.10.2",
44
"homepage": "./",
55
"private": false,
66
"license": "SEE LICENSE IN LICENSE FILE",
@@ -22,17 +22,17 @@
2222
"dependencies": {
2323
"@cosmjs/cosmwasm-stargate": "^0.33.1",
2424
"@delphi-labs/shuttle-react": "^4.3.0",
25-
"@keplr-wallet/cosmos": "^0.12.238",
25+
"@keplr-wallet/cosmos": "^0.12.239",
2626
"@next/eslint-plugin-next": "^15.3.3",
27-
"@skip-go/client": "^1.1.7",
27+
"@skip-go/client": "^1.2.3",
2828
"@solana/web3.js": "^1.98.2",
29-
"@tanstack/react-query": "^5.79.2",
29+
"@tanstack/react-query": "^5.80.7",
3030
"@tanstack/react-table": "^8.21.3",
3131
"@tippyjs/react": "^4.2.6",
3232
"@vercel/analytics": "^1.5.0",
3333
"@vercel/og": "^0.6.8",
3434
"@web3modal/wagmi": "^5.1.11",
35-
"axios": "^1.9.0",
35+
"axios": "^1.10.0",
3636
"bignumber.js": "^9.3.0",
3737
"bitcoinjs-lib": "^6.1.7",
3838
"classnames": "^2.5.1",
@@ -50,38 +50,38 @@
5050
"react-dom": "^19.1.0",
5151
"react-draggable": "^4.4.6",
5252
"react-helmet-async": "^2.0.5",
53-
"react-qr-code": "^2.0.15",
54-
"react-router-dom": "^7.6.1",
53+
"react-qr-code": "^2.0.16",
54+
"react-router-dom": "^7.6.2",
5555
"react-spring": "^10.0.1",
5656
"react-toastify": "^11.0.5",
5757
"react-use-clipboard": "^1.0.9",
5858
"recharts": "^2.15.3",
5959
"sharp": "^0.34.2",
6060
"starknet": "^6.24.1",
6161
"swr": "^2.3.3",
62-
"viem": "^2.30.6",
63-
"wagmi": "^2.15.4",
62+
"viem": "^2.31.2",
63+
"wagmi": "^2.15.6",
6464
"zustand": "5.0.5"
6565
},
6666
"devDependencies": {
67-
"@babel/eslint-parser": "^7.27.1",
68-
"@eslint/compat": "^1.2.9",
67+
"@babel/eslint-parser": "^7.27.5",
68+
"@eslint/compat": "^1.3.0",
6969
"@svgr/webpack": "^8.1.0",
7070
"@tailwindcss/container-queries": "^0.1.1",
71-
"@tailwindcss/postcss": "^4.1.8",
71+
"@tailwindcss/postcss": "^4.1.10",
7272
"@types/debounce-promise": "^3.1.9",
7373
"@types/lodash.debounce": "^4.0.9",
7474
"@types/lodash.throttle": "^4.1.9",
75-
"@types/node": "^22.15.29",
76-
"@types/react": "19.1.6",
77-
"@types/react-dom": "19.1.5",
75+
"@types/node": "^24.0.2",
76+
"@types/react": "19.1.8",
77+
"@types/react-dom": "19.1.6",
7878
"@types/react-helmet": "^6.1.11",
79-
"@typescript-eslint/eslint-plugin": "^8.33.1",
80-
"@typescript-eslint/parser": "^8.33.1",
79+
"@typescript-eslint/eslint-plugin": "^8.34.0",
80+
"@typescript-eslint/parser": "^8.34.0",
8181
"autoprefixer": "^10.4.21",
8282
"dotenv": "^16.5.0",
8383
"dotenv-cli": "^8.0.0",
84-
"eslint": "^9.28.0",
84+
"eslint": "^9.29.0",
8585
"eslint-config-prettier": "^10.1.5",
8686
"eslint-plugin-functional": "^9.0.2",
8787
"eslint-plugin-import": "^2.31.0",
@@ -90,14 +90,14 @@
9090
"eslint-plugin-react-hooks": "^5.2.0",
9191
"husky": "^9.1.7",
9292
"identity-obj-proxy": "^3.0.0",
93-
"lint-staged": "^16.1.0",
93+
"lint-staged": "^16.1.2",
9494
"prettier": "^3.5.3",
9595
"prettier-plugin-tailwindcss": "^0.6.12",
9696
"shelljs": "^0.10.0",
97-
"tailwind-scrollbar-hide": "^2.0.0",
97+
"tailwind-scrollbar-hide": "^4.0.0",
9898
"tailwindcss": "^3.4.1",
9999
"typescript": "^5.8.3",
100-
"typescript-eslint": "^8.33.1"
100+
"typescript-eslint": "^8.34.0"
101101
},
102102
"engines": {
103103
"npm": "please-use-yarn",

src/api/cosmwasm-client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ const getManagedVaultDetails = async (chainConfig: ChainConfig, vaultAddress: st
204204
})
205205
return response as unknown as ManagedVaultSCDetailsResponse
206206
} catch (error) {
207-
setNodeError(getUrl(chainConfig.endpoints.rpc), error)
208-
throw error
207+
console.error(`Error fetching details for vault ${vaultAddress}:`, error)
208+
return null
209209
}
210210
}
211211

src/chains/neutron/neutron-1.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ const Neutron1: ChainConfig = {
136136
accountNft: 'neutron184kvu96rqtetmunkkmhu5hru8yaqg7qfhd8ldu5avjnamdqu69squrh3f5',
137137
perps: 'neutron1g3catxyv0fk8zzsra2mjc0v4s69a7xygdjt85t54l7ym3gv0un4q2xhaf6',
138138
pyth: 'neutron1m2emc93m9gpwgsrsf2vylv9xvgqh654630v7dfrhrkmr5slly53spg85wv',
139+
marsStaking: 'neutron1rly5as5fdhhuasfw375hs4wyensvyx6eytzkdxtqfma6veyneggs457lnj',
140+
marsVotingPower: 'neutron1pxjszcmmdxwtw9kv533u3hcudl6qahsa42chcs24gervf4ge40usaw3pcr',
139141
},
140142
endpoints: {
141143
routes: 'https://app.astroport.fi/api/routes',

src/components/Modals/FundWithdraw/WithdrawFromAccount.tsx

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { BNCoin } from 'types/classes/BNCoin'
1616
import { cloneAccount, removeDepositsAndLends } from 'utils/accounts'
1717
import { byDenom } from 'utils/array'
1818
import { mergeBNCoinArrays } from 'utils/helpers'
19+
import { getCoinValue } from 'utils/formatters'
1920

2021
interface Props {
2122
account: Account
@@ -24,8 +25,23 @@ interface Props {
2425
export default function WithdrawFromAccount(props: Props) {
2526
const { account } = props
2627
const { data: assets } = useAssets()
27-
const balances = mergeBNCoinArrays(account.deposits, account.lends)
28-
const defaultAsset = assets.find(byDenom(balances[0]?.denom)) ?? assets[0]
28+
const tradeEnabledAssets = useMemo(() => assets.filter((asset) => asset.isTradeEnabled), [assets])
29+
const sortedBalances = useMemo(
30+
() =>
31+
mergeBNCoinArrays(account.deposits, account.lends)
32+
.filter((coin) => tradeEnabledAssets.some((asset) => asset.denom === coin.denom))
33+
.sort((a, b) => {
34+
const valueA = getCoinValue(a, tradeEnabledAssets)?.toNumber?.() ?? 0
35+
const valueB = getCoinValue(b, tradeEnabledAssets)?.toNumber?.() ?? 0
36+
return valueB - valueA
37+
}),
38+
[account.deposits, account.lends, tradeEnabledAssets],
39+
)
40+
const defaultAsset = useMemo(
41+
() => tradeEnabledAssets.find(byDenom(sortedBalances[0]?.denom)) ?? tradeEnabledAssets[0],
42+
[tradeEnabledAssets, sortedBalances],
43+
)
44+
2945
const withdraw = useStore((s) => s.withdraw)
3046
const [withdrawWithBorrowing, setWithdrawWithBorrowing] = useToggle()
3147
const [currentAsset, setCurrentAsset] = useState<Asset>(defaultAsset)
@@ -46,7 +62,7 @@ export default function WithdrawFromAccount(props: Props) {
4662
const isBorrowEnabledAsset = currentAsset.isBorrowEnabled
4763
const maxWithdrawAmount =
4864
isDeprecatedAsset || !isBorrowEnabledAsset
49-
? (balances.find(byDenom(currentAsset.denom))?.amount ?? BN_ZERO)
65+
? (sortedBalances.find(byDenom(currentAsset.denom))?.amount ?? BN_ZERO)
5066
: computeMaxWithdrawAmount(currentAsset.denom)
5167
const maxWithdrawWithBorrowAmount =
5268
isDeprecatedAsset || !isBorrowEnabledAsset
@@ -125,7 +141,7 @@ export default function WithdrawFromAccount(props: Props) {
125141
amount={amount}
126142
max={max}
127143
className='w-full'
128-
balances={balances}
144+
balances={sortedBalances}
129145
accountId={account.id}
130146
hasSelect
131147
maxText='Max'

0 commit comments

Comments
 (0)