diff --git a/src/assets/scss/custom.scss b/src/assets/scss/custom.scss
index ead7a86e..f61c35be 100644
--- a/src/assets/scss/custom.scss
+++ b/src/assets/scss/custom.scss
@@ -26,11 +26,16 @@ body {
}
}
-h1, h2, h3, h4, h5, h6 {
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
margin: 0;
}
-p{
+p {
margin: 0;
}
@@ -420,11 +425,10 @@ button {
}
}
-
.comdex-tabs {
.ant-tabs-nav {
margin-bottom: 10px;
- padding: 0 15px ;
+ padding: 0 15px;
&:before {
display: none;
}
@@ -567,6 +571,10 @@ button {
color: $text-color-white;
}
}
+ td {
+ background: transparent;
+ border: none;
+ }
th:nth-child(1) {
text-align: left !important;
}
@@ -1245,9 +1253,9 @@ button {
color: red;
}
}
- .ant-picker-disabled{
- background: transparent !important;
- }
+ .ant-picker-disabled {
+ background: transparent !important;
+ }
}
.buysell-arrow {
@@ -1716,7 +1724,7 @@ button {
a {
color: $secondary-color;
.dark-mode & {
- color: $white;
+ color: $black;
}
}
}
@@ -1777,16 +1785,16 @@ button {
background: rgba(#665aa6, 0.8);
}
-.dropconnect-overlay{
+.dropconnect-overlay {
padding: 0;
background: none !important;
- .ant-dropdown-menu{
+ .ant-dropdown-menu {
padding: 0;
background: none !important;
- .ant-dropdown-menu-item{
+ .ant-dropdown-menu-item {
padding: 0;
cursor: default;
background: none !important;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/containers/Assets/index.scss b/src/containers/Assets/index.scss
index 29e1a7a7..ff709309 100644
--- a/src/containers/Assets/index.scss
+++ b/src/containers/Assets/index.scss
@@ -106,6 +106,10 @@
th {
font-size: 12px;
}
+ td {
+ background: transparent;
+ border: none;
+ }
}
}
.ant-table-tbody {
diff --git a/src/containers/More/Vote/index.js b/src/containers/More/Vote/index.js
index a16b90da..268f1923 100644
--- a/src/containers/More/Vote/index.js
+++ b/src/containers/More/Vote/index.js
@@ -3,11 +3,11 @@ import * as PropTypes from "prop-types";
import { Col, Row, SvgIcon } from "../../../components/common";
import './index.scss';
import { connect } from "react-redux";
-import { Button, message, Table } from "antd";
+import { Button, message, Table, Tabs } from "antd";
import { denomToSymbol, iconNameFromDenom, symbolToDenom } from "../../../utils/string";
import { amountConversion, amountConversionWithComma } from '../../../utils/coin';
import { DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE, DOLLAR_DECIMALS, PRODUCT_ID } from '../../../constants/common';
-import { totalVTokens, userProposalAllUpData, votingCurrentProposal, votingCurrentProposalId, votingTotalBribs, votingTotalVotes, votingUserVote } from '../../../services/voteContractsRead';
+import { totalVTokens, userProposalAllUpData, userProposalAllUpPoolData, votingCurrentProposal, votingCurrentProposalId, votingTotalBribs, votingTotalVotes, votingUserVote } from '../../../services/voteContractsRead';
import { queryAssets, queryPair, queryPairVault } from '../../../services/asset/query';
import { queryMintedTokenSpecificVaultType, queryOwnerVaults, queryOwnerVaultsInfo, queryUserVaults } from '../../../services/vault/query';
import { transactionForVotePairProposal } from '../../../services/voteContractsWrites';
@@ -20,6 +20,8 @@ import variables from '../../../utils/variables';
import { comdex } from '../../../config/network';
import NoDataIcon from '../../../components/common/NoDataIcon';
import CustomSkelton from '../../../components/CustomSkelton';
+import Pool from './pool';
+import { queryPoolsList } from '../../../services/pools/query';
const Vote = ({
lang,
@@ -34,6 +36,7 @@ const Vote = ({
const [currentProposalAllData, setCurrentProposalAllData] = useState();
const [disableVoteBtn, setVoteDisableBtn] = useState(true)
const [allProposalData, setAllProposalData] = useState();
+ const [allProposalPoolData, setAllProposalPoolData] = useState();
const [btnLoading, setBtnLoading] = useState(0);
const [pairVaultData, setPairValutData] = useState({})
const [assetList, setAssetList] = useState();
@@ -139,6 +142,7 @@ const Vote = ({
}))
})
}
+
const getOwnerVaultId = (productId, address, extentedPairId) => {
queryOwnerVaults(productId, address, extentedPairId, (error, data) => {
if (error) {
@@ -186,10 +190,8 @@ const Vote = ({
const calculateTotalVotes = (value) => {
let userTotalVotes = 0;
let calculatePercentage = 0;
- allProposalData && allProposalData.map((item) => {
- userTotalVotes = userTotalVotes + Number(amountConversion(item?.total_vote || 0))
- })
- calculatePercentage = (Number(value) / userTotalVotes) * 100;
+
+ calculatePercentage = (Number(value) / amountConversion(currentProposalAllData?.total_voted_weight || 0, DOLLAR_DECIMALS)) * 100;
calculatePercentage = Number(calculatePercentage || 0).toFixed(DOLLAR_DECIMALS)
return calculatePercentage;
}
@@ -383,6 +385,143 @@ const Vote = ({
const tableData =
allProposalData && allProposalData.map((item, index) => {
+ return {
+ key: index,
+ asset: (
+ <>
+
+
+
+
+ {pairVaultData[item?.extended_pair_id]}
+
+ >
+ ),
+ my_borrowed: (
+ <>
+
+ {myBorrowed[item?.extended_pair_id] ? amountConversionWithComma(myBorrowed[item?.extended_pair_id], DOLLAR_DECIMALS) : Number(0).toFixed(2)}
+ {" "}{denomToSymbol("ucmst")}
+
+ >
+ ),
+ total_borrowed:
+
+ {totalBorrowed[item?.extended_pair_id] ? amountConversionWithComma(
+ totalBorrowed[item?.extended_pair_id], DOLLAR_DECIMALS
+ ) : Number(0).toFixed(2)} {denomToSymbol("ucmst")}
+
,
+ total_votes: {item?.total_vote ? amountConversionWithComma(item?.total_vote, DOLLAR_DECIMALS) : Number(0).toFixed(DOLLAR_DECIMALS)} veHARBOR
{item?.total_vote ? calculateTotalVotes(amountConversion(item?.total_vote || 0, 6) || 0) : Number(0).toFixed(DOLLAR_DECIMALS)}%
,
+ bribe: item?.bribe,
+ my_vote: {item?.my_vote ? amountConversion(item?.my_vote, DOLLAR_DECIMALS) : Number(0).toFixed(DOLLAR_DECIMALS)} veHARBOR
,
+ action: <>
+ handleVote(item?.extended_pair_id, index)}
+ disabled={disableVoteBtn}
+ >
+ Vote
+
+ >,
+ }
+ })
+ const poolColumns = [
+ {
+ title: (
+ <>
+ Vault Pair
+ >
+ ),
+ dataIndex: "asset",
+ key: "asset",
+ width: 150,
+ },
+ {
+ title: (
+ <>
+ My Borrowed{" "}
+ >
+ ),
+ dataIndex: "my_borrowed",
+ key: "my_borrowed",
+ width: 150,
+ },
+ {
+ title: (
+ <>
+ Total Borrowed
+ >
+ ),
+ dataIndex: "total_borrowed",
+ key: "total_borrowed",
+ width: 200,
+ },
+ {
+ title: (
+ <>
+ Total Votes
+ >
+ ),
+ dataIndex: "total_votes",
+ key: "total_votes",
+ width: 200,
+ },
+
+ {
+ title: (
+ <>
+ External Incentives
+ >
+ ),
+ dataIndex: "bribe",
+ key: "bribe",
+ width: 200,
+ render: (item) => (
+ <>
+ {item?.length > 0 ?
+ item && item?.map((singleBribe, index) => {
+ return {amountConversionWithComma(singleBribe?.amount, DOLLAR_DECIMALS)} {denomToSymbol(singleBribe?.denom)}
+ })
+ : {" "}
+
+ }
+
+ >
+ ),
+ },
+ {
+ title: (
+ <>
+ My Vote
+ >
+ ),
+ dataIndex: "my_vote",
+ key: "my_vote",
+ align: "center",
+ width: 100,
+ },
+ {
+ title: (
+ <>
+ Action
+ >
+ ),
+ dataIndex: "action",
+ key: "action",
+ align: "centre",
+ width: 130,
+ },
+ ];
+
+ const poolTableData =
+ allProposalPoolData && allProposalPoolData.map((item, index) => {
return {
key: index,
asset: (
@@ -431,6 +570,34 @@ const Vote = ({
}
})
+ const tabsItem = [
+ {
+ label: "Vaults", key: "1", children: (
+
+
+
+
+
+
+ )
+ },
+ {
+ label: "Pools", key: "2", children:
+ },
+ ]
+
return (
<>
@@ -455,27 +622,20 @@ const Vote = ({
- {currentProposalAllData ? "Votes are due by" + calculteVotingTime() : "Voting for epoch proposal not active "}, when the next epoch begins. Your vote will allocate 100% of the veHARBOR voting power. Voters will earn External Incentives no matter when in the epoch they are added.
+ {currentProposalAllData ? "Votes are due by " + calculteVotingTime() : "Voting for epoch proposal not active "}, when the next epoch begins. Your vote will allocate 100% of the veHARBOR voting power. Voters will earn External Incentives no matter when in the epoch they are added.
+
+
-
-
+
diff --git a/src/containers/More/Vote/pool.js b/src/containers/More/Vote/pool.js
new file mode 100644
index 00000000..823221ec
--- /dev/null
+++ b/src/containers/More/Vote/pool.js
@@ -0,0 +1,524 @@
+import React, { useEffect, useState } from 'react'
+import * as PropTypes from "prop-types";
+import { Col, Row, SvgIcon } from "../../../components/common";
+import './index.scss';
+import { connect } from "react-redux";
+import { Button, message, Table, Tabs } from "antd";
+import { denomToSymbol, iconNameFromDenom, symbolToDenom } from "../../../utils/string";
+import { amountConversion, amountConversionWithComma } from '../../../utils/coin';
+import { DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE, DOLLAR_DECIMALS, PRODUCT_ID } from '../../../constants/common';
+import { totalVTokens, userProposalAllUpData, userProposalAllUpPoolData, votingCurrentProposal, votingCurrentProposalId, votingTotalBribs, votingTotalVotes, votingUserVote } from '../../../services/voteContractsRead';
+import { queryAssets, queryPair, queryPairVault } from '../../../services/asset/query';
+import { queryMintedTokenSpecificVaultType, queryOwnerVaults, queryOwnerVaultsInfo, queryUserVaults } from '../../../services/vault/query';
+import { transactionForVotePairProposal } from '../../../services/voteContractsWrites';
+import { setBalanceRefresh } from "../../../actions/account";
+import { Link } from 'react-router-dom';
+import moment from 'moment';
+import TooltipIcon from '../../../components/TooltipIcon';
+import Snack from '../../../components/common/Snack';
+import variables from '../../../utils/variables';
+import { comdex } from '../../../config/network';
+import NoDataIcon from '../../../components/common/NoDataIcon';
+import CustomSkelton from '../../../components/CustomSkelton';
+import { queryFarmedPoolCoin, queryFarmer, queryPoolsList } from '../../../services/pools/query';
+import { formatNumber } from '../../../utils/number';
+
+const Pool = ({
+ lang,
+ address,
+ refreshBalance,
+ setBalanceRefresh,
+}) => {
+ const [loading, setLoading] = useState(false);
+ const [inProcess, setInProcess] = useState(false);
+ const [proposalId, setProposalId] = useState();
+ const [proposalExtenderPair, setProposalExtenderPair] = useState();
+ const [currentProposalAllData, setCurrentProposalAllData] = useState();
+ const [disableVoteBtn, setVoteDisableBtn] = useState(true)
+ const [allProposalData, setAllProposalData] = useState();
+ const [allProposalPoolData, setAllProposalPoolData] = useState();
+ const [btnLoading, setBtnLoading] = useState(0);
+ const [pairVaultData, setPairValutData] = useState({})
+ const [assetList, setAssetList] = useState();
+ const [pairIdData, setPairIdData] = useState({});
+ const [totalBorrowed, setTotalBorrowed] = useState({});
+ const [vaultId, setVaultId] = useState({});
+ const [myBorrowed, setMyBorrowed] = useState({});
+ const [userPoolFarmedData, setUserPoolFarmedData] = useState({})
+ const [totalPoolFarmedData, setTotalPoolFarmedData] = useState({})
+
+ const [poolList, setPoolList] = useState();
+
+ const [totalVotingPower, setTotalVotingPower] = useState(0);
+
+ // Query
+ const fetchVotingCurrentProposalId = () => {
+ setLoading(true)
+ votingCurrentProposalId(PRODUCT_ID).then((res) => {
+ setProposalId(res)
+ setLoading(false)
+ }).catch((error) => {
+ setLoading(false)
+ console.log(error);
+ })
+ }
+
+ const fetchVotingCurrentProposal = (proposalId) => {
+ votingCurrentProposal(proposalId).then((res) => {
+ setProposalExtenderPair(res?.extended_pair)
+ setCurrentProposalAllData(res)
+ }).catch((error) => {
+ console.log(error);
+ })
+ }
+
+ const getProposalTimeExpiredOrNot = () => {
+ let endTime = currentProposalAllData?.voting_end_time;
+ // *Removing miliSec from unix time
+ let newEndTime = Math.floor(endTime / 1000000000);
+ let currentTime = moment().unix();
+ if (currentTime > newEndTime) {
+ return setVoteDisableBtn(true)
+ }
+ else {
+ return setVoteDisableBtn(false)
+ }
+ }
+
+ const fetchAssets = (offset, limit, countTotal, reverse) => {
+ queryAssets(offset, limit, countTotal, reverse, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setAssetList(data.assets)
+ });
+ };
+
+ const fetchQueryPairValut = (extendedPairId) => {
+ queryPairVault(extendedPairId, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setPairIdData((prevState) => ({
+ ...prevState, [extendedPairId]: data?.pairVault?.pairId?.toNumber()
+ }))
+ setPairValutData((prevState) => ({
+ ...prevState, [extendedPairId]: data?.pairVault?.pairName
+ }))
+ })
+ }
+
+ const fetchtotalBorrowed = (productId, extendedPairId) => {
+ queryMintedTokenSpecificVaultType(productId, extendedPairId, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setTotalBorrowed((prevState) => ({
+ ...prevState, [extendedPairId]: data?.tokenMinted
+ }))
+ })
+ }
+ const getOwnerVaultId = (productId, address, extentedPairId) => {
+ queryOwnerVaults(productId, address, extentedPairId, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setVaultId((prevState) => ({
+ ...prevState, [extentedPairId]: data?.vaultId?.toNumber()
+ }))
+ })
+ }
+
+ const getOwnerVaultInfoByVaultId = (ownerVaultId) => {
+ queryOwnerVaultsInfo(ownerVaultId, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setMyBorrowed((prevData) => ({
+ ...prevData, [data?.vault?.extendedPairVaultId?.toNumber()]: data?.vault?.amountOut
+ }))
+ })
+ }
+
+ const fetchTotalVTokens = (address, height) => {
+ totalVTokens(address, height).then((res) => {
+ setTotalVotingPower(res)
+ }).catch((error) => {
+ console.log(error);
+ })
+ }
+
+ const getIconFromPairName = (extendexPairVaultPairName) => {
+ let pairName = extendexPairVaultPairName;
+ pairName = pairName?.replace(/\s+/g, ' ').trim()
+ if (!pairName?.includes("-")) {
+ return pairName?.toLowerCase();
+ } else {
+ pairName = pairName?.slice(0, -2);
+ pairName = pairName?.toLowerCase()
+ return pairName;
+ }
+ }
+
+ const calculateTotalVotes = (value) => {
+ let userTotalVotes = 0;
+ let calculatePercentage = 0;
+ calculatePercentage = (Number(value) / amountConversion(currentProposalAllData?.total_voted_weight || 0, DOLLAR_DECIMALS)) * 100;
+ calculatePercentage = Number(calculatePercentage || 0).toFixed(DOLLAR_DECIMALS)
+ return calculatePercentage;
+ }
+
+ useEffect(() => {
+ fetchVotingCurrentProposalId()
+ if (proposalId) {
+ fetchVotingCurrentProposal(proposalId)
+ } else {
+ setProposalExtenderPair("")
+ }
+ }, [address, proposalId, refreshBalance])
+
+ const getPairFromExtendedPair = () => {
+ allProposalData && allProposalData.map((item) => {
+ fetchQueryPairValut(item?.extended_pair_id)
+ getOwnerVaultId(PRODUCT_ID, address, item?.extended_pair_id)
+ fetchtotalBorrowed(PRODUCT_ID, item?.extended_pair_id)
+ })
+ }
+
+ const fetchProposalAllUpData = (address, proposalId) => {
+ setLoading(true)
+ userProposalAllUpData(address, proposalId,).then((res) => {
+ setAllProposalData(res?.proposal_pair_data)
+ setLoading(false)
+ }).catch((error) => {
+ setLoading(false)
+ console.log(error);
+ })
+ };
+
+ const fetchProposalAllUpPoolData = (address, proposalId) => {
+ setLoading(true)
+ userProposalAllUpPoolData(address, proposalId,).then((res) => {
+ setAllProposalPoolData(res?.proposal_pair_data)
+ setLoading(false)
+ }).catch((error) => {
+ setLoading(false)
+ console.log(error);
+ })
+ };
+
+ const fetchPoolLists = () => {
+ queryPoolsList((error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setPoolList(data?.pools)
+ })
+ }
+
+ const fetchFarmer = (poolId, address, extendexPairId) => {
+ queryFarmer(poolId, address, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setUserPoolFarmedData((prevData) => ({
+ ...prevData, [extendexPairId]: data?.activePoolCoin?.amount
+ }))
+ })
+ }
+ const fetchFarmedPoolCoin = (poolId, extendexPairId) => {
+ queryFarmedPoolCoin(poolId, (error, data) => {
+ if (error) {
+ message.error(error);
+ return;
+ }
+ setTotalPoolFarmedData((prevData) => ({
+ ...prevData, [extendexPairId]: data?.coin?.amount
+ }))
+ })
+ }
+
+ useEffect(() => {
+ proposalExtenderPair && proposalExtenderPair.map((item) => {
+ getOwnerVaultInfoByVaultId(vaultId[item])
+ })
+ }, [vaultId, refreshBalance])
+
+ useEffect(() => {
+ if (proposalId) {
+ fetchProposalAllUpData(address, proposalId);
+ fetchProposalAllUpPoolData(address, proposalId);
+
+ }
+ }, [address, proposalId, refreshBalance])
+
+
+ const handleVote = (item, index) => {
+ setInProcess(true)
+ setBtnLoading(index)
+ if (address) {
+ if (proposalId) {
+ if (amountConversion(totalVotingPower, DOLLAR_DECIMALS) === Number(0).toFixed(DOLLAR_DECIMALS)) {
+ message.error("Insufficient Voting Power")
+ setInProcess(false)
+ }
+ else {
+ transactionForVotePairProposal(address, PRODUCT_ID, proposalId, item, (error, result) => {
+ if (error) {
+ message.error(error?.rawLog || "Transaction Failed")
+ setInProcess(false)
+ return;
+ }
+ message.success(
+ < Snack
+ message={variables[lang].tx_success}
+ explorerUrlToTx={comdex?.explorerUrlToTx}
+ hash={result?.transactionHash}
+ />
+ )
+ setBalanceRefresh(refreshBalance + 1);
+ setInProcess(false)
+ })
+
+ }
+ } else {
+ setInProcess(false)
+ message.error("Please enter amount")
+ }
+ }
+ else {
+ setInProcess(false)
+ message.error("Please Connect Wallet")
+ }
+ }
+
+ const getPoolId = (value) => {
+ let extendedPairId = value;
+ let divisor = 10 ** comdex?.coinDecimals
+ let result = extendedPairId % divisor;
+ return result;
+ }
+
+ const getUserFarmData = (address) => {
+ allProposalPoolData?.map((item) => {
+ fetchFarmer(getPoolId(item?.extended_pair_id), address, item?.extended_pair_id)
+ fetchFarmedPoolCoin(getPoolId(item?.extended_pair_id), item?.extended_pair_id)
+ })
+ }
+
+ useEffect(() => {
+ getUserFarmData(address)
+ }, [allProposalPoolData, address])
+
+ useEffect(() => {
+ if (currentProposalAllData) {
+ fetchTotalVTokens(address, currentProposalAllData?.height)
+ getProposalTimeExpiredOrNot()
+ }
+ }, [address, refreshBalance, currentProposalAllData])
+
+ useEffect(() => {
+ fetchAssets(
+ (DEFAULT_PAGE_NUMBER - 1) * (DEFAULT_PAGE_SIZE * 2),
+ (DEFAULT_PAGE_SIZE * 2),
+ true,
+ false
+ );
+ }, [])
+
+ useEffect(() => {
+ fetchPoolLists()
+ }, [])
+
+ useEffect(() => {
+ getPairFromExtendedPair()
+ }, [allProposalData, refreshBalance])
+
+ const poolColumns = [
+ {
+ title: (
+ <>
+ Pool
+ >
+ ),
+ dataIndex: "asset",
+ key: "asset",
+ width: 250,
+ },
+ {
+ title: (
+ <>
+ My Farmed {" "}
+ >
+ ),
+ dataIndex: "my_borrowed",
+ key: "my_borrowed",
+ width: 150,
+ },
+ {
+ title: (
+ <>
+ Total Farmed
+ >
+ ),
+ dataIndex: "total_borrowed",
+ key: "total_borrowed",
+ width: 200,
+ },
+ {
+ title: (
+ <>
+ Total Votes
+ >
+ ),
+ dataIndex: "total_votes",
+ key: "total_votes",
+ width: 200,
+ },
+
+ {
+ title: (
+ <>
+ External Incentives
+ >
+ ),
+ dataIndex: "bribe",
+ key: "bribe",
+ width: 200,
+ render: (item) => (
+ <>
+ {item?.length > 0 ?
+ item && item?.map((singleBribe, index) => {
+ return {amountConversionWithComma(singleBribe?.amount, DOLLAR_DECIMALS)} {denomToSymbol(singleBribe?.denom)}
+ })
+ : {" "}
+
+ }
+
+ >
+ ),
+ },
+ {
+ title: (
+ <>
+ My Vote
+ >
+ ),
+ dataIndex: "my_vote",
+ key: "my_vote",
+ align: "center",
+ width: 100,
+ },
+ {
+ title: (
+ <>
+ Action
+ >
+ ),
+ dataIndex: "action",
+ key: "action",
+ align: "centre",
+ width: 130,
+ },
+ ];
+
+ const poolTableData =
+ allProposalPoolData && allProposalPoolData.map((item, index) => {
+ return {
+ key: index,
+ asset: (
+ <>
+
+
+
+
+
+
+
+ {denomToSymbol(poolList[index]?.balances[0]?.denom)} - {denomToSymbol(poolList[index]?.balances[1]?.denom)}
+
+ >
+ ),
+ my_borrowed: (
+ <>
+
+ {userPoolFarmedData[item?.extended_pair_id] ? formatNumber(userPoolFarmedData[item?.extended_pair_id]) : Number(0).toFixed(2)}
+
+ >
+ ),
+ total_borrowed:
+
+ {totalPoolFarmedData[item?.extended_pair_id] ? formatNumber(totalPoolFarmedData[item?.extended_pair_id]) : Number(0).toFixed(2)}
+
,
+ total_votes: {item?.total_vote ? amountConversionWithComma(item?.total_vote, DOLLAR_DECIMALS) : Number(0).toFixed(DOLLAR_DECIMALS)} veHARBOR
{item?.total_vote ? calculateTotalVotes(amountConversion(item?.total_vote || 0, 6) || 0) : Number(0).toFixed(DOLLAR_DECIMALS)}%
,
+ bribe: item?.bribe,
+ my_vote: {item?.my_vote ? amountConversion(item?.my_vote, DOLLAR_DECIMALS) : Number(0).toFixed(DOLLAR_DECIMALS)} veHARBOR
,
+ action: <>
+ handleVote(item?.extended_pair_id, index)}
+ disabled={disableVoteBtn}
+ >
+ Vote
+
+ >,
+ }
+ })
+
+ return (
+ <>
+
+
+ >
+ )
+}
+
+Pool.propTypes = {
+ lang: PropTypes.string.isRequired,
+ address: PropTypes.string,
+ refreshBalance: PropTypes.number.isRequired,
+};
+const stateToProps = (state) => {
+ return {
+ lang: state.language,
+ address: state.account.address,
+ refreshBalance: state.account.refreshBalance,
+ };
+};
+const actionsToProps = {
+ setBalanceRefresh,
+};
+export default connect(stateToProps, actionsToProps)(Pool);
\ No newline at end of file
diff --git a/src/containers/MyPosition/index.scss b/src/containers/MyPosition/index.scss
index 8f10854d..26f34ab6 100644
--- a/src/containers/MyPosition/index.scss
+++ b/src/containers/MyPosition/index.scss
@@ -109,6 +109,10 @@
th:last-child {
text-align: right !important;
}
+ td {
+ background: transparent;
+ border: none;
+ }
}
}
@@ -427,6 +431,10 @@
th:last-child {
text-align: right !important;
}
+ td {
+ background: transparent;
+ border: none;
+ }
}
}
diff --git a/src/services/pools/query.js b/src/services/pools/query.js
new file mode 100644
index 00000000..5cb655f2
--- /dev/null
+++ b/src/services/pools/query.js
@@ -0,0 +1,87 @@
+import { QueryClientImpl } from "comdex-codec/build/comdex/liquidity/v1beta1/query";
+import { createQueryClient } from "../helper";
+import Long from 'long';
+import { CSWAP_APP_ID, PRODUCT_ID } from "../../constants/common";
+
+
+export const queryPoolsList = (
+ callback
+) => {
+ createQueryClient((error, client) => {
+ if (error) {
+ callback(error);
+ return;
+ }
+
+ const queryService = new QueryClientImpl(client);
+
+ queryService
+ .Pools({
+ pairId: Long.fromNumber(0),
+ disabled: "false",
+ appId: Long.fromNumber(CSWAP_APP_ID)
+ })
+ .then((result) => {
+ callback(null, result);
+ })
+ .catch((error) => {
+ callback(error?.message)
+ });
+ });
+};
+export const queryFarmer = (
+ poolId,
+ address,
+ callback
+) => {
+ createQueryClient((error, client) => {
+ if (error) {
+ callback(error);
+ return;
+ }
+
+ const queryService = new QueryClientImpl(client);
+
+ queryService
+ .Farmer({
+ appId: Long.fromNumber(CSWAP_APP_ID),
+ poolId: Long.fromNumber(poolId),
+ farmer: address,
+ })
+ .then((result) => {
+ callback(null, result);
+ })
+ .catch((error) => {
+ callback(error?.message)
+ });
+ });
+};
+
+export const queryFarmedPoolCoin = (
+ poolId,
+ callback
+) => {
+ createQueryClient((error, client) => {
+ if (error) {
+ callback(error);
+ return;
+ }
+
+ const queryService = new QueryClientImpl(client);
+
+ queryService
+ .FarmedPoolCoin({
+ appId: Long.fromNumber(CSWAP_APP_ID),
+ poolId: Long.fromNumber(poolId),
+ })
+ .then((result) => {
+ callback(null, result);
+ })
+ .catch((error) => {
+ callback(error?.message)
+ });
+ });
+};
+
+
+
diff --git a/src/services/voteContractsRead.js b/src/services/voteContractsRead.js
index 30f53930..a77e274c 100644
--- a/src/services/voteContractsRead.js
+++ b/src/services/voteContractsRead.js
@@ -47,6 +47,10 @@ export const totalVTokens = async (address, height) => {
export const userProposalAllUpData = async (address, proposalId) => {
const client = await CosmWasmClient.connect(configin.rpcEndpoint);
const config = await client.queryContractSmart(lockingContractAddress, { "user_proposal_all_up": { "address": address, "proposal_id": proposalId } });
- // console.log(config, "config");
+ return await config;
+}
+export const userProposalAllUpPoolData = async (address, proposalId) => {
+ const client = await CosmWasmClient.connect(configin.rpcEndpoint);
+ const config = await client.queryContractSmart(lockingContractAddress, { "user_proposal_all_up_pool": { "address": address, "proposal_id": proposalId } });
return await config;
}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index a247c925..2058d8a7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -22,6 +22,19 @@
dependencies:
"@ctrl/tinycolor" "^3.4.0"
+"@ant-design/cssinjs@^1.3.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.4.0.tgz#c66aa468322d6fdec7f43c8ebd0f3171630d2711"
+ integrity sha512-siFyX5VyiJWKBQAffI8zE0WZ4OWfI35QnqesbtHaVg49QxHFAcFN9VbJ+Qoos24JxABcxfopEwMWe2joZ2QVBQ==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ "@emotion/hash" "^0.8.0"
+ "@emotion/unitless" "^0.7.5"
+ classnames "^2.3.1"
+ csstype "^3.0.10"
+ rc-util "^5.27.0"
+ stylis "^4.0.13"
+
"@ant-design/icons-svg@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a"
@@ -38,16 +51,16 @@
classnames "^2.2.6"
rc-util "^5.9.4"
-"@ant-design/react-slick@~0.29.1":
- version "0.29.2"
- resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.29.2.tgz#53e6a7920ea3562eebb304c15a7fc2d7e619d29c"
- integrity sha512-kgjtKmkGHa19FW21lHnAfyyH9AAoh35pBdcJ53rHmQ3O+cfFHGHnUbj/HFrRNJ5vIts09FKJVAD8RpaC+RaWfA==
+"@ant-design/react-slick@~1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.0.tgz#4696eecaa2dea0429e47ae24c267015cfd6df35c"
+ integrity sha512-OKxZsn8TAf8fYxP79rDXgLs9zvKMTslK6dJ4iLhDXOujUqC5zJPBRszyrcEHXcMPOm1Sgk40JgyF3yiL/Swd7w==
dependencies:
"@babel/runtime" "^7.10.4"
classnames "^2.2.5"
json2mq "^0.2.0"
- lodash "^4.17.21"
resize-observer-polyfill "^1.5.1"
+ throttle-debounce "^5.0.0"
"@babel/code-frame@7.10.4":
version "7.10.4"
@@ -1560,6 +1573,11 @@
"@emotion/weak-memoize" "^0.3.0"
stylis "4.1.3"
+"@emotion/hash@^0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
+ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
+
"@emotion/hash@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7"
@@ -1619,6 +1637,11 @@
"@emotion/use-insertion-effect-with-fallbacks" "^1.0.0"
"@emotion/utils" "^1.2.0"
+"@emotion/unitless@^0.7.5":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+
"@emotion/unitless@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db"
@@ -2828,6 +2851,13 @@
dependencies:
"@babel/runtime" "^7.13.10"
+"@rc-component/mini-decimal@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.0.1.tgz#e5dbc20a6a5b0e234d279bc71ce730ab865d3910"
+ integrity sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+
"@rc-component/portal@^1.0.0-6", "@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.2":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.0.3.tgz#3aa2c229a7a20ac2412d864e8977e6377973416e"
@@ -2837,6 +2867,26 @@
classnames "^2.3.2"
rc-util "^5.24.4"
+"@rc-component/portal@^1.0.0-9":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.0.tgz#6b94450d2c2b00d50b141bd7a0be23bd96503dbe"
+ integrity sha512-tbXM9SB1r5FOuZjRCljERFByFiEUcMmCWMXLog/NmgCzlAzreXyf23Vei3ZpSMxSMavzPnhCovfZjZdmxS3d1w==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ classnames "^2.3.2"
+ rc-util "^5.24.4"
+
+"@rc-component/tour@~1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.1.0.tgz#17b43b5c0bdfb6a8ab3027b1977d960952616d9e"
+ integrity sha512-Cy45VnNEDq6DLF5eKonIflObDfofbPq7AJpSf18qLN+j9+wW+sNlRv3JnCMDUsCdhSlnM4+yJ1RMokKp9GCpOQ==
+ dependencies:
+ "@babel/runtime" "^7.18.0"
+ "@rc-component/portal" "^1.0.0-9"
+ classnames "^2.3.2"
+ rc-trigger "^5.3.4"
+ rc-util "^5.24.4"
+
"@remix-run/router@1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.0.5.tgz#d5c65626add4c3c185a89aa5bd38b1e42daec075"
@@ -3795,54 +3845,57 @@ ansi-styles@^5.0.0:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-antd@^4.24.3:
- version "4.24.5"
- resolved "https://registry.yarnpkg.com/antd/-/antd-4.24.5.tgz#e2489fe7929b53044f239f0893f22baf52e43c48"
- integrity sha512-1dgDd6OqVP0OGNenNm6bPppYsCO1wkT4SFLcpS/QiiiVZQoDCErQYvEH0ULmPWAEler1Brzal260wwpm0uPeeg==
+antd@^5.0.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-5.1.2.tgz#6c57c375e193ff77be1a8f6a132f5aacaf21d037"
+ integrity sha512-B6R6Bm0jIOb6v3JhS4DLKghJWqX0OufCOy99+R6F7QtGjbV/0wG/0rqH3DiQ4BHNIHsL+SDUYti9o3cT28lPww==
dependencies:
"@ant-design/colors" "^6.0.0"
+ "@ant-design/cssinjs" "^1.3.0"
"@ant-design/icons" "^4.7.0"
- "@ant-design/react-slick" "~0.29.1"
+ "@ant-design/react-slick" "~1.0.0"
"@babel/runtime" "^7.18.3"
"@ctrl/tinycolor" "^3.4.0"
+ "@rc-component/tour" "~1.1.0"
classnames "^2.2.6"
copy-to-clipboard "^3.2.0"
- lodash "^4.17.21"
- moment "^2.29.2"
- rc-cascader "~3.7.0"
+ dayjs "^1.11.1"
+ qrcode.react "^3.1.0"
+ rc-cascader "~3.8.0"
rc-checkbox "~2.3.0"
rc-collapse "~3.4.2"
rc-dialog "~9.0.2"
- rc-drawer "~6.0.0"
+ rc-drawer "~6.1.1"
rc-dropdown "~4.0.0"
rc-field-form "~1.27.0"
- rc-image "~5.12.0"
+ rc-image "~5.13.0"
rc-input "~0.1.4"
- rc-input-number "~7.3.9"
+ rc-input-number "~7.4.0"
rc-mentions "~1.13.1"
rc-menu "~9.8.0"
rc-motion "^2.6.1"
- rc-notification "~4.6.0"
+ rc-notification "~5.0.0"
rc-pagination "~3.2.0"
- rc-picker "~2.7.0"
+ rc-picker "~3.1.1"
rc-progress "~3.4.1"
rc-rate "~2.9.0"
rc-resize-observer "^1.2.0"
rc-segmented "~2.1.0"
- rc-select "~14.1.13"
+ rc-select "~14.2.0"
rc-slider "~10.0.0"
- rc-steps "~5.0.0-alpha.2"
- rc-switch "~3.2.0"
- rc-table "~7.26.0"
- rc-tabs "~12.4.1"
+ rc-steps "~6.0.0"
+ rc-switch "~4.0.0"
+ rc-table "~7.28.3"
+ rc-tabs "~12.5.1"
rc-textarea "~0.4.5"
rc-tooltip "~5.2.0"
rc-tree "~5.7.0"
- rc-tree-select "~5.5.0"
+ rc-tree-select "~5.6.0"
rc-trigger "^5.2.10"
rc-upload "~4.3.0"
- rc-util "^5.22.5"
- scroll-into-view-if-needed "^2.2.25"
+ rc-util "^5.27.0"
+ scroll-into-view-if-needed "^3.0.3"
+ throttle-debounce "^5.0.0"
anymatch@^2.0.0:
version "2.0.0"
@@ -5171,10 +5224,10 @@ compression@^1.7.4:
safe-buffer "5.1.2"
vary "~1.1.2"
-compute-scroll-into-view@^1.0.20:
- version "1.0.20"
- resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43"
- integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==
+compute-scroll-into-view@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-2.0.3.tgz#e78c9804a2396a7a47159523b23b0695ad2391cc"
+ integrity sha512-mj/AjC7WqXeVlUB6zUq5Qrivb6et0kyasDQcbCWLDusYUqaXng+BfOnhCdRqPOa5/dWNn5e9+u40H6w2BYRdNQ==
concat-map@0.0.1:
version "0.0.1"
@@ -5690,7 +5743,7 @@ csstype@3.0.9:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
-csstype@^3.0.2:
+csstype@^3.0.10, csstype@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==
@@ -5739,12 +5792,7 @@ dataloader@^1.4.0:
resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8"
integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==
-date-fns@2.x:
- version "2.29.3"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8"
- integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==
-
-dayjs@1.x:
+dayjs@^1.11.1:
version "1.11.7"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2"
integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
@@ -9624,7 +9672,7 @@ moment-duration-format@^2.3.2:
resolved "https://registry.yarnpkg.com/moment-duration-format/-/moment-duration-format-2.3.2.tgz#5fa2b19b941b8d277122ff3f87a12895ec0d6212"
integrity sha512-cBMXjSW+fjOb4tyaVHuaVE/A5TqkukDWiOfxxAjY+PEqmmBQlLwn+8OzwPiG3brouXKY5Un4pBjAeB6UToXHaQ==
-moment@^2.24.0, moment@^2.29.1, moment@^2.29.2:
+moment@^2.29.1:
version "2.29.4"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
@@ -11286,6 +11334,11 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+qrcode.react@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8"
+ integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==
+
qs@6.11.0:
version "6.11.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
@@ -11375,15 +11428,15 @@ rc-align@^4.0.0:
rc-util "^5.3.0"
resize-observer-polyfill "^1.5.1"
-rc-cascader@~3.7.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.7.0.tgz#98134df578ce1cca22be8fb4319b04df4f3dca36"
- integrity sha512-SFtGpwmYN7RaWEAGTS4Rkc62ZV/qmQGg/tajr/7mfIkleuu8ro9Hlk6J+aA0x1YS4zlaZBtTcSaXM01QMiEV/A==
+rc-cascader@~3.8.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.8.0.tgz#5eaca8998b2e3f5692d13f16bfe2346eccc87c6a"
+ integrity sha512-zCz/NzsNRQ1TIfiR3rQNxjeRvgRHEkNdo0FjHQZ6Ay6n4tdCmMrM7+81ThNaf21JLQ1gS2AUG2t5uikGV78obA==
dependencies:
"@babel/runtime" "^7.12.5"
array-tree-filter "^2.1.0"
classnames "^2.3.1"
- rc-select "~14.1.0"
+ rc-select "~14.2.0"
rc-tree "~5.7.0"
rc-util "^5.6.1"
@@ -11417,10 +11470,10 @@ rc-dialog@~9.0.0, rc-dialog@~9.0.2:
rc-motion "^2.3.0"
rc-util "^5.21.0"
-rc-drawer@~6.0.0:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.0.3.tgz#09993ecdf88ddd569d5a3341d907e3ab258096bb"
- integrity sha512-u4RajgrnREKQH/21gB2JHZiA6ZECo0X0BbmDxAJEhKD9jUhlAbqMN5I9VWa4PSzi9ceLHUShqQcPAh2EJswffw==
+rc-drawer@~6.1.1:
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.1.2.tgz#032918a21bfa8a7d9e52ada1e7b8ed08c0ae6346"
+ integrity sha512-mYsTVT8Amy0LRrpVEv7gI1hOjtfMSO/qHAaCDzFx9QBLnms3cAQLJkaxRWM+Eq99oyLhU/JkgoqTg13bc4ogOQ==
dependencies:
"@babel/runtime" "^7.10.1"
"@rc-component/portal" "^1.0.0-6"
@@ -11447,23 +11500,25 @@ rc-field-form@~1.27.0:
async-validator "^4.1.0"
rc-util "^5.8.0"
-rc-image@~5.12.0:
- version "5.12.1"
- resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.12.1.tgz#1560eda00ef9d33ebdb3c8c74ab134eb00f973d4"
- integrity sha512-FMldR/ODwQmlFlhjR4c6hsOHmnn4s9CxmW7PR/9XCYE1XHlGJ5OkSWOtJruoaLjVwt2tQYDRnLANf/mKZ9ReUg==
+rc-image@~5.13.0:
+ version "5.13.0"
+ resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.13.0.tgz#1ed9b852a40b5eff34786ba7d2f0e9d26eeab874"
+ integrity sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==
dependencies:
"@babel/runtime" "^7.11.2"
"@rc-component/portal" "^1.0.2"
classnames "^2.2.6"
rc-dialog "~9.0.0"
+ rc-motion "^2.6.2"
rc-util "^5.0.6"
-rc-input-number@~7.3.9:
- version "7.3.11"
- resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.3.11.tgz#c7089705a220e1a59ba974fabf89693e00dd2442"
- integrity sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==
+rc-input-number@~7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.4.0.tgz#b8b4ffa8bbc04198e79ce8b9611756d046d128ec"
+ integrity sha512-r/Oub/sPYbzqLNUOHnnc9sbCu78a81KX+RCbRwmpvB4W6nptUySbdWS5KHV4Hak5CAE1LAd+wWm5JjvZizG1FA==
dependencies:
"@babel/runtime" "^7.10.1"
+ "@rc-component/mini-decimal" "^1.0.1"
classnames "^2.2.5"
rc-util "^5.23.0"
@@ -11501,7 +11556,7 @@ rc-menu@~9.8.0:
rc-util "^5.12.0"
shallowequal "^1.1.0"
-rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2:
+rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.0, rc-motion@^2.6.1, rc-motion@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.6.2.tgz#3d31f97e41fb8e4f91a4a4189b6a98ac63342869"
integrity sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==
@@ -11510,14 +11565,14 @@ rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motio
classnames "^2.2.1"
rc-util "^5.21.0"
-rc-notification@~4.6.0:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.6.1.tgz#068e8674f4bd7926a447eca512915d4b41b15c91"
- integrity sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==
+rc-notification@~5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.0.0.tgz#afdaa86fdf9c96e767690f2e891747beb3100d19"
+ integrity sha512-mTqMD5Uip1tJhX74opHrmC/CG1wtkxuCcaiCaPDFWPJ/o50OgYYi3nPV10Pwgb8mK8dqg9DDQKISWAcKmcVlXQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
- rc-motion "^2.2.0"
+ rc-motion "^2.6.0"
rc-util "^5.20.1"
rc-overflow@^1.0.0, rc-overflow@^1.2.8:
@@ -11538,16 +11593,13 @@ rc-pagination@~3.2.0:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
-rc-picker@~2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.7.0.tgz#3c19881da27a0c5ee4c7e7504e21b552bd43a94c"
- integrity sha512-oZH6FZ3j4iuBxHB4NvQ6ABRsS2If/Kpty1YFFsji7/aej6ruGmfM7WnJWQ88AoPfpJ++ya5z+nVEA8yCRYGKyw==
+rc-picker@~3.1.1:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.1.4.tgz#4806dc36a78424abaee610830777c8e22a23c74c"
+ integrity sha512-4qANXNc3C02YENNQvun329zf9VLvSQ2W8RkKQRu8k1P+EtSGqe3klcAKCfz/1TuCiDvgRjJlzRmyZAkwvsbI8w==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
- date-fns "2.x"
- dayjs "1.x"
- moment "^2.24.0"
rc-trigger "^5.0.4"
rc-util "^5.4.0"
shallowequal "^1.1.0"
@@ -11590,10 +11642,10 @@ rc-segmented@~2.1.0:
rc-motion "^2.4.4"
rc-util "^5.17.0"
-rc-select@~14.1.0, rc-select@~14.1.13:
- version "14.1.16"
- resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.1.16.tgz#0cc4b5a1fc551a2db7c96bc1ece0896317ecdd47"
- integrity sha512-71XLHleuZmufpdV2vis5oituRkhg2WNvLpVMJBGWRar6WGAVOHXaY9DR5HvwWry3EGTn19BqnL6Xbybje6f8YA==
+rc-select@~14.2.0:
+ version "14.2.0"
+ resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.2.0.tgz#60e83a7d5a5dae7fd9e3918d9b209074ea2c92d4"
+ integrity sha512-tvxHmbAA0EIhBkB7dyaRhcBUIWHocQbUFY/fBlezj2jg5p65a5VQ/UhBg2I9TA1wjpsr5CCx0ruZPkYcUMjDoQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
@@ -11601,7 +11653,7 @@ rc-select@~14.1.0, rc-select@~14.1.13:
rc-overflow "^1.0.0"
rc-trigger "^5.0.4"
rc-util "^5.16.1"
- rc-virtual-list "^3.2.0"
+ rc-virtual-list "^3.4.13"
rc-slider@~10.0.0:
version "10.0.1"
@@ -11613,28 +11665,28 @@ rc-slider@~10.0.0:
rc-util "^5.18.1"
shallowequal "^1.1.0"
-rc-steps@~5.0.0-alpha.2:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-5.0.0.tgz#2e2403f2dd69eb3966d65f461f7e3a8ee1ef69fe"
- integrity sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==
+rc-steps@~6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.0.tgz#f7148f8097d5d135f19b96c1b4f4b50ad6093753"
+ integrity sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==
dependencies:
"@babel/runtime" "^7.16.7"
classnames "^2.2.3"
rc-util "^5.16.1"
-rc-switch@~3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8"
- integrity sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==
+rc-switch@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.0.0.tgz#55fbf99fc2d680791175037d379e170ba51fbe78"
+ integrity sha512-IfrYC99vN0gKaTyjQdqYuADU0eH00SAFHg3jOp8HrmUpJruhV1SohJzrCbPqPraZeX/6X/QKkdLfkdnUub05WA==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
rc-util "^5.0.1"
-rc-table@~7.26.0:
- version "7.26.0"
- resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.26.0.tgz#9d517e7fa512e7571fdcc453eb1bf19edfac6fbc"
- integrity sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==
+rc-table@~7.28.3:
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.28.3.tgz#826c789b1cf8ed93137aa488919cf6d9a5f0b9bc"
+ integrity sha512-jiPtBDqcs0wF0KOJgkhDgxN6+vq4jHbteddE15IR6RajlVkAk+kRIecyBY28b+vg199yQiu/NGuSRKJKEGOWBQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
@@ -11642,10 +11694,10 @@ rc-table@~7.26.0:
rc-util "^5.22.5"
shallowequal "^1.1.0"
-rc-tabs@~12.4.1:
- version "12.4.2"
- resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.4.2.tgz#487a1b3f8d8cf0bfc121224013dab00d4a8e0532"
- integrity sha512-FFlGwuTjQUznWzJtyhmHc6KAp5lRQFxKUv9Aj1UtsOYe2e7WGmuzcrd+/LQchuPe0VjhaZPdGkmFGcqGqNO6ow==
+rc-tabs@~12.5.1:
+ version "12.5.5"
+ resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.5.5.tgz#8b34c2ea58f7d9fe141de252f24e69b26df34221"
+ integrity sha512-Y0k+JK4IN2cr0+MstkYK6MryvURhUc8JvHDCXujbUA6zHVTnWeTikOspGgvHPrlfZRl7WS+DPyMdEFE6RwlueQ==
dependencies:
"@babel/runtime" "^7.11.2"
classnames "2.x"
@@ -11675,14 +11727,14 @@ rc-tooltip@~5.2.0:
classnames "^2.3.1"
rc-trigger "^5.0.0"
-rc-tree-select@~5.5.0:
- version "5.5.5"
- resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz#d28b3b45da1e820cd21762ba0ee93c19429bb369"
- integrity sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==
+rc-tree-select@~5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.6.0.tgz#f34147f4c14341430bcece481804496d0abd3371"
+ integrity sha512-XG6pu0a9l6+mzhQqUYfR2VIONbe/3LjVc3wKt28k6uBMZsI1j+SSxRyt/7jWRq8Kok8jHJBQASlDg6ehr9Sp0w==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
- rc-select "~14.1.0"
+ rc-select "~14.2.0"
rc-tree "~5.7.0"
rc-util "^5.16.1"
@@ -11697,7 +11749,7 @@ rc-tree@~5.7.0:
rc-util "^5.16.1"
rc-virtual-list "^3.4.8"
-rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10, rc-trigger@^5.3.1:
+rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10, rc-trigger@^5.3.1, rc-trigger@^5.3.4:
version "5.3.4"
resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61"
integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==
@@ -11726,7 +11778,15 @@ rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.12.0, rc-util@^5.15.0, rc-util@^5.16.
react-is "^16.12.0"
shallowequal "^1.1.0"
-rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.8:
+rc-util@^5.27.0:
+ version "5.27.1"
+ resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.27.1.tgz#d12f02b9577b04299c0f1a235c8acbcf56e2824b"
+ integrity sha512-PsjHA+f+KBCz+YTZxrl3ukJU5RoNKoe3KSNMh0xGiISbR67NaM9E9BiMjCwxa3AcCUOg/rZ+V0ZKLSimAA+e3w==
+ dependencies:
+ "@babel/runtime" "^7.18.3"
+ react-is "^16.12.0"
+
+rc-virtual-list@^3.4.13, rc-virtual-list@^3.4.8:
version "3.4.13"
resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.13.tgz#20acc934b263abcf7b7c161f50ef82281b2f7e8d"
integrity sha512-cPOVDmcNM7rH6ANotanMDilW/55XnFPw0Jh/GQYtrzZSy3AmWvCnqVNyNC/pgg3lfVmX2994dlzAhuUrd4jG7w==
@@ -12557,12 +12617,12 @@ schema-utils@^3.0.0, schema-utils@^3.1.1:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
-scroll-into-view-if-needed@^2.2.25:
- version "2.2.31"
- resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz#d3c482959dc483e37962d1521254e3295d0d1587"
- integrity sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==
+scroll-into-view-if-needed@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.3.tgz#57256bef78f3c3c288070d2aaa63cf547aa11e70"
+ integrity sha512-QoCH0lVw0tbA7Rl6sToH7e1tO3n95Oi6JgBgC8hEpNNZUC91MfasJ/4E1ZdbzGueNDZ+Y7ObfRaelKUgTyPbJA==
dependencies:
- compute-scroll-into-view "^1.0.20"
+ compute-scroll-into-view "^2.0.2"
scrypt-js@3.0.1:
version "3.0.1"
@@ -13267,7 +13327,7 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
-stylis@4.1.3:
+stylis@4.1.3, stylis@^4.0.13:
version "4.1.3"
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7"
integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==
@@ -13465,6 +13525,11 @@ throat@^5.0.0:
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
+throttle-debounce@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933"
+ integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==
+
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"