diff --git a/src/state/boards/fetchBoardsUser.ts b/src/state/boards/fetchBoardsUser.ts
index f6cbb18..28174d5 100644
--- a/src/state/boards/fetchBoardsUser.ts
+++ b/src/state/boards/fetchBoardsUser.ts
@@ -1,8 +1,9 @@
import BigNumber from 'bignumber.js'
import erc20ABI from 'config/abi/erc20.json'
+import boardABI from 'config/abi/board.json'
import multicall from 'utils/multicall'
import boardsConfig from 'config/constants/boards'
-import { getAddress } from 'utils/addressHelpers'
+import { getAddress, getBoardAddress } from 'utils/addressHelpers'
export const fetchBoardUserAllowances = async (account: string) => {
const calls = boardsConfig.map((board) => {
@@ -38,15 +39,15 @@ export const fetchBoardUserTokenBalances = async (account: string) => {
export const fetchBoardUserInfo = async (account: string) => {
const data = await Promise.all(
boardsConfig.map(async (board) => {
- const boardChefAddress = getAddress(board.contractAddress)
+ const boardChefAdress = getAddress(board.contractAddress)
const calls = [
{
- address: boardChefAddress,
+ address: boardChefAdress,
name: 'userInfo',
params: [account],
},
{
- address: boardChefAddress,
+ address: boardChefAdress,
name: 'pendingHCC',
params: [account],
},
diff --git a/src/views/Board/index.tsx b/src/views/Board/index.tsx
index 2527aa1..a9e5821 100644
--- a/src/views/Board/index.tsx
+++ b/src/views/Board/index.tsx
@@ -3,8 +3,11 @@ import React, { useEffect, useCallback, useMemo, useState, useRef } from 'react'
import { Route, useRouteMatch, useLocation } from 'react-router-dom'
import { useDispatch } from 'react-redux'
import boardsConfig from 'config/constants/boards'
+import tokens from 'config/constants/tokens'
import { getAddress, getBoardAddress } from 'utils/addressHelpers'
+import { getDecimalAmountNumber } from 'utils/formatBalance'
import boardABI from 'config/abi/board.json'
+import erc20ABI from 'config/abi/erc20.json'
import multicall from 'utils/multicall'
import { useWeb3React } from '@web3-react/core'
import Balance from 'components/Balance'
@@ -46,8 +49,11 @@ const Boards: React.FC = () => {
const { fastRefresh } = useRefresh()
// 资金池总额
const [totalAmount, setTotalAmount] = useState(0)
+ // 分红总额
+ const [shareOutBonus, setShareOutBonus] = useState(0)
// 获取资金池总额
const getCapital = async () => {
+ console.log(boardsConfig)
const calls = boardsConfig.map((board) => {
const contractAddress = getAddress(board.contractAddress)
return {
@@ -55,17 +61,37 @@ const Boards: React.FC = () => {
name: '_poolInfo',
}
})
+ let total = 0
const boardsPoolInfo = await multicall(boardABI, calls)
- console.log('boardsPoolInfo:', boardsPoolInfo)
boardsPoolInfo.forEach((item) => {
- setTotalAmount(totalAmount + Number(new BigNumber(item.totalAmount._hex).toJSON()))
+ total += new BigNumber(item.totalAmount._hex).toNumber()
})
+ setTotalAmount(total)
}
+ // 获取分红总额
+ const fetchBoardShares = async () => {
+ const calls = boardsConfig.map((board) => {
+ const contractAddress = getAddress(board.tokenAddresses)
+ return {
+ address: contractAddress,
+ name: 'balanceOf',
+ params: ['0x2937a050705009270c9b5bc096d57d519ab7c39b'],
+ }
+ })
+ let total = 0
+ const sharesRed = await multicall(erc20ABI, calls)
+ sharesRed.forEach((item) => {
+ total += new BigNumber(item.balance._hex).div(new BigNumber(10).pow(18)).toNumber()
+ })
+ setShareOutBonus(total)
+ }
+
useEffect(() => {
dispatch(fetchBoardsPublicDataAsync())
if (account) {
dispatch(fetchBoardUserDataAsync(account))
getCapital()
+ fetchBoardShares()
}
}, [account, dispatch, fastRefresh])
@@ -89,7 +115,7 @@ const Boards: React.FC = () => {
-
+
{/* */}