diff --git a/package.json b/package.json index bb78bb1de..ee7e88511 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ "@subql/contract-sdk": "1.0.0", "@subql/network-clients": "1.1.0", "@subql/network-config": "1.1.1", - "@subql/network-query": "1.1.2-0", - "@subql/react-hooks": "1.1.2-0", + "@subql/network-query": "1.1.2-1", + "@subql/react-hooks": "1.1.2-1", "@web3-name-sdk/core": "^0.1.5", "@web3-react/core": "^6.1.9", "@web3-react/injected-connector": "^6.0.7", diff --git a/src/pages/delegator/TopIndexers/TopIndexersList.tsx b/src/pages/delegator/TopIndexers/TopIndexersList.tsx index 779d4511f..53065aa18 100644 --- a/src/pages/delegator/TopIndexers/TopIndexersList.tsx +++ b/src/pages/delegator/TopIndexers/TopIndexersList.tsx @@ -12,6 +12,7 @@ import { DelegationFieldsFragment, GetTopIndexersQuery, IndexerFieldsFragment } import { useGetAllDelegationsQuery, useGetIndexersQuery } from '@subql/react-hooks'; import { getOrderedAccounts, mulToPercentage, ROUTES, truncateToDecimalPlace } from '@utils'; import { TableProps, Tag } from 'antd'; +import BigNumber from 'bignumber.js'; import i18next from 'i18next'; import { FixedType } from 'rc-table/lib/interface'; @@ -211,12 +212,24 @@ export const TopIndexerList: React.FC = ({ indexers, onLoadMore }) => { // better sort in graphql but now cannot. const orderedIndexerList = React.useMemo(() => { - return getOrderedAccounts( + const ordered = getOrderedAccounts( indexers.slice().sort((a, b) => b.totalPoints - a.totalPoints), 'id', account, ).filter((i) => i.id.includes(filterParams.address)); - }, [indexers, account, filterParams]); + + return ordered.map((topIndex) => { + const find = allIndexers.data?.indexers?.nodes.find((i) => i?.id === topIndex.id); + if (!find) return topIndex; + const ownStakedAmount = BigNumber(find.indexerStakes.nodes?.[0]?.indexerStake.toString() || '0'); + const totalStakedAmount = BigNumber(find.totalStake.valueAfter.value); + const ownStaked = ownStakedAmount.div(totalStakedAmount).toNumber(); + return { + ...topIndex, + ownStaked, + }; + }); + }, [indexers, account, filterParams, allIndexers]); const SearchAddress = () => (
diff --git a/yarn.lock b/yarn.lock index 1d59fa869..5362f9525 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4661,10 +4661,10 @@ dependencies: graphql "^16.5.0" -"@subql/network-query@1.1.2-0": - version "1.1.2-0" - resolved "https://registry.npmjs.org/@subql/network-query/-/network-query-1.1.2-0.tgz#4d4a865877a20f862bfb6526680bf368f0a6b964" - integrity sha512-5S6LqrIp73Ndwv8JyzGXo5EaeBA0eSZJmaeBWMSDz4dqzOze3/oqxNLpA4yUj3nSJew2MLrwdAk4/u0hutSUAQ== +"@subql/network-query@1.1.2-1": + version "1.1.2-1" + resolved "https://registry.npmjs.org/@subql/network-query/-/network-query-1.1.2-1.tgz#3fa99dad5f73a4b21d0834a2d35f0d812eb2916f" + integrity sha512-8xgbmQWbM/3Ata0hplbo4Dk8WOpjUB2N04Rd+u8tw+8RkB+B7RFbbcrt4R1YpRRAmAloiqgd6igWcfl1t18DIw== dependencies: graphql "^16.5.0" @@ -4679,15 +4679,15 @@ jwt-decode "^3.1.2" lru-cache "^10.0.1" -"@subql/react-hooks@1.1.2-0": - version "1.1.2-0" - resolved "https://registry.npmjs.org/@subql/react-hooks/-/react-hooks-1.1.2-0.tgz#65a1988f29fe93a4ac64267f66f15de50046474f" - integrity sha512-MPAF9tZLG04rI0Z48WoUcMMjFKy4X98+79CO8FJ1189GCluYxjaflxGK4qtd+IDawNs5b9/0gtV5qO7tMJV7Ig== +"@subql/react-hooks@1.1.2-1": + version "1.1.2-1" + resolved "https://registry.npmjs.org/@subql/react-hooks/-/react-hooks-1.1.2-1.tgz#1d5bff5c68d4acebca51f31a073d18911fdd6447" + integrity sha512-GKCoC0Sr1Jf11GQ5qVARWxl+XKZ0/6LCNlQR49+m3bo66RDJFZJSnerCI6yuILGXzMjZXnJjRjnLyHVS9oqRtA== dependencies: "@graphql-tools/code-file-loader" "^7.3.6" "@graphql-tools/graphql-tag-pluck" "^7.3.6" "@graphql-tools/load" "^7.7.7" - "@subql/network-query" "1.1.2-0" + "@subql/network-query" "1.1.2-1" ahooks "^3.7.8" bignumber.js "^9.1.2" class-transformer "^0.5.1"