From 6037038aa1e5b0cbaa25485b9842693b3198c353 Mon Sep 17 00:00:00 2001
From: songwongtp <16089160+songwongtp@users.noreply.github.com>
Date: Tue, 23 May 2023 15:00:54 +0700
Subject: [PATCH 29/32] fix: comment
---
src/lib/data/constant.ts | 2 ++
src/lib/pages/pools/components/PoolHeader.tsx | 12 ++++--------
src/lib/pages/pools/components/PoolLogo.tsx | 4 ++--
.../pools/components/pool-details/PoolAssets.tsx | 4 ++--
.../pools/components/pool-details/PoolRelatedTxs.tsx | 5 ++---
.../components/pool-details/header/PoolInfo.tsx | 5 ++---
.../pools/components/pool-details/header/index.tsx | 5 ++---
.../tables/pool-assets/PoolAssetsTableRow.tsx | 2 +-
.../pool-details/tables/pool-assets/index.tsx | 4 ++--
.../pool-details/tables/pool-txs/PoolTxsMsg.tsx | 10 ++--------
.../pool-details/tables/pool-txs/PoolTxsTable.tsx | 10 ++--------
.../pool-details/tables/pool-txs/PoolTxsTableRow.tsx | 6 ++----
.../pool-details/tables/pool-txs/index.tsx | 5 ++---
.../pool-txs/messages/components/PoolAssetCard.tsx | 2 +-
.../pool-txs/messages/components/PoolLogoLink.tsx | 5 ++---
.../pool-details/tables/pool-txs/messages/index.tsx | 7 +++----
.../pool-txs/messages/lockup/MsgLockTokensAction.tsx | 5 ++---
.../pool-txs/messages/lockup/MsgLockTokensDetail.tsx | 5 ++---
.../pool-txs/messages/lp/MsgExitPoolAction.tsx | 5 ++---
.../messages/lp/MsgExitSwapExternAmountOutAction.tsx | 5 ++---
.../messages/lp/MsgExitSwapShareAmountInAction.tsx | 5 ++---
.../pool-txs/messages/lp/MsgJoinPoolAction.tsx | 5 ++---
.../messages/lp/MsgJoinSwapExternAmountInAction.tsx | 5 ++---
.../messages/lp/MsgJoinSwapShareAmountOutAction.tsx | 5 ++---
.../MsgLockAndSuperfluidDelegateAction.tsx | 5 ++---
.../MsgLockAndSuperfluidDelegateDetail.tsx | 5 ++---
.../pool-txs/messages/swap/components/PoolRoute.tsx | 2 +-
src/lib/pages/pools/data.ts | 11 ++++++-----
src/lib/services/expression/txExpression.ts | 1 -
src/lib/services/poolService.ts | 4 ++--
30 files changed, 62 insertions(+), 94 deletions(-)
diff --git a/src/lib/data/constant.ts b/src/lib/data/constant.ts
index 5c8ddeb56..c00f021c1 100644
--- a/src/lib/data/constant.ts
+++ b/src/lib/data/constant.ts
@@ -90,3 +90,5 @@ export const DEFAULT_TX_FILTERS = {
isUpdateAdmin: false,
isClearAdmin: false,
};
+
+export const UPPERBOUND_COUNT = 10000;
diff --git a/src/lib/pages/pools/components/PoolHeader.tsx b/src/lib/pages/pools/components/PoolHeader.tsx
index 4f542fec4..b644ff1c4 100644
--- a/src/lib/pages/pools/components/PoolHeader.tsx
+++ b/src/lib/pages/pools/components/PoolHeader.tsx
@@ -1,19 +1,15 @@
import { Flex, Heading, Text, Box, Image } from "@chakra-ui/react";
-import type Big from "big.js";
import { BALANCER_ICON, STABLESWAP_ICON, SUPERFLUID_ICON } from "../constant";
-import type { TokenWithValue } from "lib/types";
import type { PoolDetail } from "lib/types/pool";
import { getTokenLabel } from "lib/utils";
import { PoolLogo } from "./PoolLogo";
-interface PoolHeaderProps {
- poolId: PoolDetail
["id"];
- isSuperfluid: PoolDetail["isSuperfluid"];
- poolType: PoolDetail["type"];
- poolLiquidity: PoolDetail["poolLiquidity"];
-}
+type PoolHeaderProps = Pick & {
+ poolId: PoolDetail["id"];
+ poolType: PoolDetail["type"];
+};
export const PoolHeader = ({
poolId,
diff --git a/src/lib/pages/pools/components/PoolLogo.tsx b/src/lib/pages/pools/components/PoolLogo.tsx
index 9e46ed2de..7f8d34076 100644
--- a/src/lib/pages/pools/components/PoolLogo.tsx
+++ b/src/lib/pages/pools/components/PoolLogo.tsx
@@ -1,4 +1,4 @@
-import type { FlexProps, TextProps } from "@chakra-ui/react";
+import type { FlexProps, ImageProps, TextProps } from "@chakra-ui/react";
import { Flex, Image, Text } from "@chakra-ui/react";
import { getUndefinedTokenIcon } from "../utils";
@@ -6,7 +6,7 @@ import type { TokenWithValue } from "lib/types";
interface PoolLogoProps {
tokens: TokenWithValue[];
- logoSize?: FlexProps["height"] | FlexProps["width"];
+ logoSize?: ImageProps["boxSize"];
marginLeft?: number;
minW?: FlexProps["minW"];
textVariant?: TextProps["variant"];
diff --git a/src/lib/pages/pools/components/pool-details/PoolAssets.tsx b/src/lib/pages/pools/components/pool-details/PoolAssets.tsx
index 316dd80fe..d99c6cfb3 100644
--- a/src/lib/pages/pools/components/pool-details/PoolAssets.tsx
+++ b/src/lib/pages/pools/components/pool-details/PoolAssets.tsx
@@ -4,13 +4,13 @@ import big from "big.js";
import Link from "next/link";
import { CustomIcon } from "lib/components/icon";
-import type { PoolDetail, TokenWithValue, USD } from "lib/types";
+import type { PoolDetail, USD } from "lib/types";
import { formatPrice } from "lib/utils";
import { PoolAssetsTable } from "./tables/pool-assets";
interface PoolAssetsProps {
- pool: PoolDetail;
+ pool: PoolDetail;
}
export const PoolAssets = ({ pool }: PoolAssetsProps) => {
diff --git a/src/lib/pages/pools/components/pool-details/PoolRelatedTxs.tsx b/src/lib/pages/pools/components/pool-details/PoolRelatedTxs.tsx
index 299b61e26..cfc315b5e 100644
--- a/src/lib/pages/pools/components/pool-details/PoolRelatedTxs.tsx
+++ b/src/lib/pages/pools/components/pool-details/PoolRelatedTxs.tsx
@@ -7,16 +7,15 @@ import {
TabPanels,
TabPanel,
} from "@chakra-ui/react";
-import type Big from "big.js";
import { usePoolTxsCount } from "../../data";
import { CustomTab } from "lib/components/CustomTab";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import { PoolRelatedTxsTable } from "./tables/pool-txs";
interface PoolRelatedTxsProps {
- pool: PoolDetail;
+ pool: PoolDetail;
}
export const PoolRelatedTxs = ({ pool }: PoolRelatedTxsProps) => {
diff --git a/src/lib/pages/pools/components/pool-details/header/PoolInfo.tsx b/src/lib/pages/pools/components/pool-details/header/PoolInfo.tsx
index da416023d..5f7f63a91 100644
--- a/src/lib/pages/pools/components/pool-details/header/PoolInfo.tsx
+++ b/src/lib/pages/pools/components/pool-details/header/PoolInfo.tsx
@@ -1,16 +1,15 @@
import { Flex, Text } from "@chakra-ui/react";
-import type Big from "big.js";
import { JsonModalButton } from "../JsonModalButton";
import { useGetAddressType } from "lib/app-provider";
import { CopyLink } from "lib/components/CopyLink";
import { ExplorerLink } from "lib/components/ExplorerLink";
import { LabelText } from "lib/components/LabelText";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import { formatRatio } from "lib/utils";
interface PoolInfoProps {
- pool: PoolDetail;
+ pool: PoolDetail;
}
export const PoolInfo = ({ pool }: PoolInfoProps) => {
diff --git a/src/lib/pages/pools/components/pool-details/header/index.tsx b/src/lib/pages/pools/components/pool-details/header/index.tsx
index 88720ad46..05bbfed58 100644
--- a/src/lib/pages/pools/components/pool-details/header/index.tsx
+++ b/src/lib/pages/pools/components/pool-details/header/index.tsx
@@ -1,18 +1,17 @@
import { Button, Flex } from "@chakra-ui/react";
import { useWallet } from "@cosmos-kit/react";
-import type Big from "big.js";
import { PoolHeader } from "../../PoolHeader";
import { getPoolUrl } from "lib/app-fns/explorer";
import { useLCDEndpoint } from "lib/app-provider";
import { CustomIcon } from "lib/components/icon";
import { openNewTab } from "lib/hooks";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import { PoolInfo } from "./PoolInfo";
interface PoolTopSectionProps {
- pool: PoolDetail;
+ pool: PoolDetail;
}
export const PoolTopSection = ({ pool }: PoolTopSectionProps) => {
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-assets/PoolAssetsTableRow.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-assets/PoolAssetsTableRow.tsx
index ad965ded7..3ddb029bc 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-assets/PoolAssetsTableRow.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-assets/PoolAssetsTableRow.tsx
@@ -16,7 +16,7 @@ import {
} from "lib/utils";
interface PoolAssetsTableRowProps {
- pool: PoolDetail;
+ pool: PoolDetail;
token: TokenWithValue;
templateColumns: GridProps["templateColumns"];
totalLiquidity: USD;
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-assets/index.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-assets/index.tsx
index 497ecd9fa..2ceda6217 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-assets/index.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-assets/index.tsx
@@ -1,13 +1,13 @@
import type { Big } from "big.js";
import { TableContainer } from "lib/components/table/tableComponents";
-import type { PoolDetail, TokenWithValue, USD } from "lib/types";
+import type { PoolDetail, USD } from "lib/types";
import { PoolAssetsTableHeader } from "./PoolAssetsTableHeader";
import { PoolAssetsTableRow } from "./PoolAssetsTableRow";
interface PoolAssetsTableProps {
- pool: PoolDetail;
+ pool: PoolDetail;
totalLiquidity: USD;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
index 2562c3271..79fe6da24 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
@@ -1,17 +1,11 @@
import { Flex, Text, Grid, useDisclosure, Box, Badge } from "@chakra-ui/react";
-import type Big from "big.js";
import { ExplorerLink } from "lib/components/ExplorerLink";
import { CustomIcon } from "lib/components/icon";
import { TableNoBorderRow } from "lib/components/table";
import { Tooltip } from "lib/components/Tooltip";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type {
- Message,
- PoolDetail,
- TokenWithValue,
- Transaction,
-} from "lib/types";
+import type { Message, PoolDetail, Transaction } from "lib/types";
import { dateFromNow, formatUTC } from "lib/utils";
import { PoolMsgAction, PoolMsgDetail } from "./messages";
@@ -21,7 +15,7 @@ interface PoolTxsMsgProps {
msgIndex: number;
message?: Message;
otherMsgs: { [key: string]: number };
- pool: PoolDetail;
+ pool: PoolDetail;
transaction: Transaction;
assetInfos: AssetInfosOpt;
templateColumns: string;
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx
index e61028902..de47cda53 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx
@@ -1,20 +1,14 @@
import { TableContainer } from "@chakra-ui/react";
-import type Big from "big.js";
import { Loading } from "lib/components/Loading";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type {
- Option,
- PoolDetail,
- TokenWithValue,
- Transaction,
-} from "lib/types";
+import type { Option, PoolDetail, Transaction } from "lib/types";
import { PoolTxsTableHeader } from "./PoolTxsTableHeader";
import { PoolTxsTableRow } from "./PoolTxsTableRow";
interface PoolTxsTableProps {
- pool: PoolDetail;
+ pool: PoolDetail;
transactions: Option;
assetInfos: AssetInfosOpt;
isLoading: boolean;
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTableRow.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTableRow.tsx
index 3dd570cca..ca20ef54f 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTableRow.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTableRow.tsx
@@ -1,13 +1,11 @@
-import type Big from "big.js";
-
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue, Transaction } from "lib/types";
+import type { PoolDetail, Transaction } from "lib/types";
import { extractPoolMsgs } from "./messages/utils";
import { PoolTxsMsg } from "./PoolTxsMsg";
interface PoolTxsTableRowProps {
- pool: PoolDetail;
+ pool: PoolDetail;
transaction: Transaction;
assetInfos: AssetInfosOpt;
templateColumns: string;
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/index.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/index.tsx
index 38ca9d470..30971a8b9 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/index.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/index.tsx
@@ -1,4 +1,3 @@
-import type Big from "big.js";
import type { ChangeEvent } from "react";
import { Pagination } from "lib/components/pagination";
@@ -6,12 +5,12 @@ import { usePaginator } from "lib/components/pagination/usePaginator";
import { EmptyState } from "lib/components/state";
import { useAssetInfos } from "lib/services/assetService";
import { useTxsByPoolIdPagination } from "lib/services/txService";
-import type { PoolDetail, PoolTxFilter, TokenWithValue } from "lib/types";
+import type { PoolDetail, PoolTxFilter } from "lib/types";
import { PoolTxsTable } from "./PoolTxsTable";
interface PoolRelatedTxsTableProps {
- pool: PoolDetail;
+ pool: PoolDetail;
countTxs: number;
type: PoolTxFilter;
scrollComponentId: string;
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx
index f31e9326f..1b78e7742 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx
@@ -92,7 +92,7 @@ export const PoolAssetCard = ({
fontWeight={400}
color="text.main"
>
- {token.symbol || getTokenLabel(token.denom)}
+ {token.symbol ?? getTokenLabel(token.denom)}
{" "}
/
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx
index 8f2adbcf8..fcceedf78 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx
@@ -1,12 +1,11 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { ExplorerLink } from "lib/components/ExplorerLink";
import { PoolLogo } from "lib/pages/pools/components/PoolLogo";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
interface PoolLogoLinkProps {
- pool: PoolDetail;
+ pool: PoolDetail;
}
export const PoolLogoLink = ({ pool }: PoolLogoLinkProps) => (
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/index.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/index.tsx
index d541e6088..84650d945 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/index.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/index.tsx
@@ -1,8 +1,7 @@
import { Text } from "@chakra-ui/react";
-import type Big from "big.js";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { Message, PoolDetail, TokenWithValue } from "lib/types";
+import type { Message, PoolDetail } from "lib/types";
import { extractTxDetails } from "lib/utils";
import { MsgLockTokensAction, MsgLockTokensDetail } from "./lockup";
@@ -37,7 +36,7 @@ export const PoolMsgAction = ({
assetInfos,
}: {
msg: Message;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}) => {
const { type, detail, log } = msg;
@@ -147,7 +146,7 @@ export const PoolMsgDetail = ({
blockHeight: number;
msgIndex: number;
msg: Message;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
isOpened: boolean;
}) => {
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensAction.tsx
index 4db2401bb..bfeefd3c1 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensAction.tsx
@@ -1,16 +1,15 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgLockTokensDetails } from "lib/utils/tx/types";
interface MsgLockTokensActionProps {
msg: MsgLockTokensDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx
index 133f3dc65..7f4637b91 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx
@@ -1,5 +1,4 @@
import { Box, Flex, Text } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolAssetCard } from "../components";
import { getPoolDenom } from "../utils";
@@ -8,7 +7,7 @@ import { ExplorerLink } from "lib/components/ExplorerLink";
import { Loading } from "lib/components/Loading";
import type { AssetInfosOpt } from "lib/services/assetService";
import { useTxData } from "lib/services/txService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgLockTokensDetails } from "lib/utils/tx/types";
interface MsgLockTokensDetailProps {
@@ -16,7 +15,7 @@ interface MsgLockTokensDetailProps {
blockHeight: number;
msgIndex: number;
msg: MsgLockTokensDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
isOpened: boolean;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitPoolAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitPoolAction.tsx
index eedfccbdc..387d83dbe 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitPoolAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitPoolAction.tsx
@@ -1,17 +1,16 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import { CustomIcon } from "lib/components/icon";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgExitPoolDetails } from "lib/utils/tx/types";
interface MsgExitPoolActionProps {
msg: MsgExitPoolDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapExternAmountOutAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapExternAmountOutAction.tsx
index 3eac223cc..06e6fd357 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapExternAmountOutAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapExternAmountOutAction.tsx
@@ -1,17 +1,16 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import { CustomIcon } from "lib/components/icon";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgExitSwapExternAmountOutDetails } from "lib/utils/tx/types";
interface MsgExitSwapExternAmountOutActionProps {
msg: MsgExitSwapExternAmountOutDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapShareAmountInAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapShareAmountInAction.tsx
index e838814af..a6a20765f 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapShareAmountInAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgExitSwapShareAmountInAction.tsx
@@ -1,17 +1,16 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import { CustomIcon } from "lib/components/icon";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgExitSwapShareAmountInDetails } from "lib/utils/tx/types";
interface MsgExitSwapShareAmountInActionProps {
msg: MsgExitSwapShareAmountInDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinPoolAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinPoolAction.tsx
index 3800ceff5..908343389 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinPoolAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinPoolAction.tsx
@@ -1,17 +1,16 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import { CustomIcon } from "lib/components/icon";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgJoinPoolDetails } from "lib/utils/tx/types";
interface MsgJoinPoolActionProps {
msg: MsgJoinPoolDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapExternAmountInAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapExternAmountInAction.tsx
index 0bd4ca61f..d35263107 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapExternAmountInAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapExternAmountInAction.tsx
@@ -1,17 +1,16 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import { CustomIcon } from "lib/components/icon";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgJoinSwapExternAmountInDetails } from "lib/utils/tx/types";
interface MsgJoinSwapExternAmountInActionProps {
msg: MsgJoinSwapExternAmountInDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapShareAmountOutAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapShareAmountOutAction.tsx
index 67bd45b86..ae05c3592 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapShareAmountOutAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/MsgJoinSwapShareAmountOutAction.tsx
@@ -1,17 +1,16 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import { CustomIcon } from "lib/components/icon";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgJoinSwapShareAmountOutDetails } from "lib/utils/tx/types";
interface MsgJoinSwapShareAmountOutActionProps {
msg: MsgJoinSwapShareAmountOutDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateAction.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateAction.tsx
index 7902e2eb5..f456048e5 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateAction.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateAction.tsx
@@ -1,16 +1,15 @@
import { Flex } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolLogoLink } from "../components";
import { getPoolDenom } from "../utils";
import { MsgToken } from "lib/components/action-msg/MsgToken";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgLockAndSuperfluidDelegateDetails } from "lib/utils/tx/types";
interface MsgLockAndSuperfluidDelegateActionProps {
msg: MsgLockAndSuperfluidDelegateDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateDetail.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateDetail.tsx
index 50f01c1c9..c1c7635c1 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateDetail.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/superfluid/MsgLockAndSuperfluidDelegateDetail.tsx
@@ -1,5 +1,4 @@
import { Box, Flex, Text } from "@chakra-ui/react";
-import type Big from "big.js";
import { PoolAssetCard } from "../components";
import { getPoolDenom } from "../utils";
@@ -9,7 +8,7 @@ import { ValidatorBadge } from "lib/components/ValidatorBadge";
import type { AssetInfosOpt } from "lib/services/assetService";
import { useTxData } from "lib/services/txService";
import { useValidator } from "lib/services/validatorService";
-import type { PoolDetail, TokenWithValue } from "lib/types";
+import type { PoolDetail } from "lib/types";
import type { MsgLockAndSuperfluidDelegateDetails } from "lib/utils/tx/types";
interface MsgLockAndSuperfluidDelegateDetailProps {
@@ -17,7 +16,7 @@ interface MsgLockAndSuperfluidDelegateDetailProps {
blockHeight: number;
msgIndex: number;
msg: MsgLockAndSuperfluidDelegateDetails;
- pool: PoolDetail;
+ pool: PoolDetail;
assetInfos: AssetInfosOpt;
isOpened: boolean;
}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/swap/components/PoolRoute.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/swap/components/PoolRoute.tsx
index c1f8d5cb0..41bb1b381 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/swap/components/PoolRoute.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/swap/components/PoolRoute.tsx
@@ -75,7 +75,7 @@ export const PoolRoute = ({ routes, assetInfos, isOpened }: PoolRouteProps) => {
: "text.main"
}
>
- {token.symbol || getTokenLabel(token.denom)}
+ {token.symbol ?? getTokenLabel(token.denom)}
{" "}
/
diff --git a/src/lib/pages/pools/data.ts b/src/lib/pages/pools/data.ts
index b99c6b7b5..eb7a30652 100644
--- a/src/lib/pages/pools/data.ts
+++ b/src/lib/pages/pools/data.ts
@@ -54,7 +54,7 @@ export const usePools = (
export const usePool = (
poolId: Option
-): { pool: Option>; isLoading: boolean } => {
+): { pool: Option; isLoading: boolean } => {
const { assetInfos, isLoading: isLoadingAssetInfos } = useAssetInfos();
const { data: pool, isLoading: isLoadingPoolInfo } = usePoolByPoolId(poolId);
@@ -83,7 +83,7 @@ export const usePool = (
exitFee: pool.exitFee,
futurePoolGovernor: pool.futurePoolGovernor,
weight:
- pool.weight?.map>((weight) => {
+ pool.weight?.map((weight) => {
const bigWeight = big(weight.weight);
return {
denom: weight.denom,
@@ -109,10 +109,11 @@ export const usePoolTxsCount = (
const { data, isLoading } = useTxsCountByPoolId(poolId, type);
if (isLoading) return { count: 0, countDisplay: "0", isLoading };
- const showActualCount = data !== undefined && data <= 10000;
+ const upperboundCount = 10000;
+ const showActualCount = data !== undefined && data <= upperboundCount;
return {
- count: showActualCount ? data : 10000,
- countDisplay: showActualCount ? data.toString() : "10000+",
+ count: showActualCount ? data : upperboundCount,
+ countDisplay: showActualCount ? data.toString() : `${upperboundCount}+`,
isLoading: false,
};
};
diff --git a/src/lib/services/expression/txExpression.ts b/src/lib/services/expression/txExpression.ts
index 16bc5c24f..19b1155a6 100644
--- a/src/lib/services/expression/txExpression.ts
+++ b/src/lib/services/expression/txExpression.ts
@@ -83,7 +83,6 @@ export const usePoolTxExpression = (
useMemo(
() => ({
pool_id: poolId ? { _eq: poolId } : {},
- transaction: { is_ibc: { _eq: false } },
...(type !== "is_all" ? { [type]: { _eq: true } } : {}),
}),
[poolId, type]
diff --git a/src/lib/services/poolService.ts b/src/lib/services/poolService.ts
index 3bbeb81d5..6812ec559 100644
--- a/src/lib/services/poolService.ts
+++ b/src/lib/services/poolService.ts
@@ -184,14 +184,14 @@ export const usePoolAssetsbyPoolIds = (
poolIds,
})
.then(({ pools }) =>
- pools.reduce(
+ pools.reduce>(
(prev, pool) => ({
...prev,
[pool.id]: (pool.liquidity as Coin[]).map(
(liquidity) => liquidity.denom
),
}),
- {} as Record
+ {}
)
);
}, [poolIds, indexerGraphClient]);
From 43809d6fba0f7807be213d993211d880bb521aad Mon Sep 17 00:00:00 2001
From: songwongtp <16089160+songwongtp@users.noreply.github.com>
Date: Tue, 23 May 2023 15:16:11 +0700
Subject: [PATCH 30/32] fix: comment
---
src/lib/pages/pools/components/PoolHeader.tsx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/lib/pages/pools/components/PoolHeader.tsx b/src/lib/pages/pools/components/PoolHeader.tsx
index b644ff1c4..90ba1efa3 100644
--- a/src/lib/pages/pools/components/PoolHeader.tsx
+++ b/src/lib/pages/pools/components/PoolHeader.tsx
@@ -6,10 +6,11 @@ import { getTokenLabel } from "lib/utils";
import { PoolLogo } from "./PoolLogo";
-type PoolHeaderProps = Pick & {
+interface PoolHeaderProps
+ extends Pick {
poolId: PoolDetail["id"];
poolType: PoolDetail["type"];
-};
+}
export const PoolHeader = ({
poolId,
From b0009ac979da55da3be3fe44364c5ce654b74a66 Mon Sep 17 00:00:00 2001
From: songwongtp <16089160+songwongtp@users.noreply.github.com>
Date: Tue, 23 May 2023 15:20:01 +0700
Subject: [PATCH 31/32] fix: add ibc tag
---
.../pool-details/tables/pool-txs/PoolTxsMsg.tsx | 2 +-
.../tables/pool-txs/messages/PoolOtherMsgs.tsx | 10 ++++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
index 79fe6da24..7de86e484 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
@@ -97,7 +97,7 @@ export const PoolTxsMsg = ({
{message ? (
) : (
-
+
)}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/PoolOtherMsgs.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/PoolOtherMsgs.tsx
index bebbe8935..eb236c773 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/PoolOtherMsgs.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/PoolOtherMsgs.tsx
@@ -4,12 +4,13 @@ import { extractMsgType } from "lib/utils";
interface PoolOtherMsgsProps {
otherMsgs: { [key: string]: number };
+ isIbc: boolean;
}
-export const PoolOtherMsgs = ({ otherMsgs }: PoolOtherMsgsProps) => {
+export const PoolOtherMsgs = ({ otherMsgs, isIbc }: PoolOtherMsgsProps) => {
const typePaths = Object.keys(otherMsgs);
return (
-
+
Total
{typePaths.map((typePath, index) => {
const type = extractMsgType(typePath);
@@ -23,6 +24,11 @@ export const PoolOtherMsgs = ({ otherMsgs }: PoolOtherMsgsProps) => {
);
})}
+ {isIbc && (
+
+ IBC
+
+ )}
);
};
From 69a59bd06691a6eac079fadae2d75379116feefc Mon Sep 17 00:00:00 2001
From: songwongtp <16089160+songwongtp@users.noreply.github.com>
Date: Tue, 23 May 2023 17:21:41 +0700
Subject: [PATCH 32/32] fix: comment
---
src/lib/pages/pools/components/PoolLogo.tsx | 94 ++++++++++---------
.../tables/pool-txs/PoolTxsMsg.tsx | 11 ++-
.../tables/pool-txs/PoolTxsTable.tsx | 10 +-
.../messages/components/PoolAssetCard.tsx | 2 +-
.../messages/components/PoolLogoLink.tsx | 1 -
.../messages/lockup/MsgLockTokensDetail.tsx | 2 +-
.../messages/lp/components/PoolAssetsGrid.tsx | 10 +-
.../messages/lp/components/PoolLPCard.tsx | 2 +-
.../MsgLockAndSuperfluidDelegateDetail.tsx | 2 +-
.../messages/swap/components/PoolSwap.tsx | 6 +-
.../tables/pool-txs/messages/utils.ts | 11 ++-
11 files changed, 80 insertions(+), 71 deletions(-)
diff --git a/src/lib/pages/pools/components/PoolLogo.tsx b/src/lib/pages/pools/components/PoolLogo.tsx
index 7f8d34076..b559f2d8b 100644
--- a/src/lib/pages/pools/components/PoolLogo.tsx
+++ b/src/lib/pages/pools/components/PoolLogo.tsx
@@ -4,6 +4,22 @@ import { Flex, Image, Text } from "@chakra-ui/react";
import { getUndefinedTokenIcon } from "../utils";
import type { TokenWithValue } from "lib/types";
+interface PoolAssetLogoProps {
+ token: TokenWithValue;
+ logoSize: ImageProps["boxSize"];
+ idx: number;
+}
+
+const PoolAssetLogo = ({ token, logoSize, idx }: PoolAssetLogoProps) => (
+
+
+
+);
+
interface PoolLogoProps {
tokens: TokenWithValue[];
logoSize?: ImageProps["boxSize"];
@@ -18,46 +34,38 @@ export const PoolLogo = ({
marginLeft = -12,
minW = 24,
textVariant = "body2",
-}: PoolLogoProps) => {
- const renderLogo = (token: TokenWithValue, i: number) => (
-
-
-
- );
-
- return (
- :not(:first-of-type)": {
- marginLeft,
- },
- }}
- minW={minW}
- alignItems="center"
- justifyContent="center"
- >
- {tokens.length > 3 ? (
- <>
- {tokens.slice(0, 2).map(renderLogo)}
-
- +{tokens.length - 2}
-
- >
- ) : (
- tokens.map(renderLogo)
- )}
-
- );
-};
+}: PoolLogoProps) => (
+ :not(:first-of-type)": {
+ marginLeft,
+ },
+ }}
+ minW={minW}
+ alignItems="center"
+ justifyContent="center"
+ >
+ {tokens.length > 3 ? (
+ <>
+ {tokens.slice(0, 2).map((token, idx) => (
+
+ ))}
+
+ +{tokens.length - 2}
+
+ >
+ ) : (
+ tokens.map((token, idx) => (
+
+ ))
+ )}
+
+);
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
index 7de86e484..1c41da4be 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsMsg.tsx
@@ -5,7 +5,7 @@ import { CustomIcon } from "lib/components/icon";
import { TableNoBorderRow } from "lib/components/table";
import { Tooltip } from "lib/components/Tooltip";
import type { AssetInfosOpt } from "lib/services/assetService";
-import type { Message, PoolDetail, Transaction } from "lib/types";
+import type { Message, Option, PoolDetail, Transaction } from "lib/types";
import { dateFromNow, formatUTC } from "lib/utils";
import { PoolMsgAction, PoolMsgDetail } from "./messages";
@@ -13,7 +13,7 @@ import { PoolOtherMsgs } from "./messages/PoolOtherMsgs";
interface PoolTxsMsgProps {
msgIndex: number;
- message?: Message;
+ message: Option;
otherMsgs: { [key: string]: number };
pool: PoolDetail;
transaction: Transaction;
@@ -36,6 +36,7 @@ export const PoolTxsMsg = ({
.slice(0, 2)
.concat("1fr")
.join(" ");
+ const isFirstSubRow = msgIndex === 0;
return (
- {msgIndex === 0 && (
+ {isFirstSubRow && (
<>
- {msgIndex === 0 &&
+ {isFirstSubRow &&
(transaction.success ? (
) : (
@@ -110,7 +111,7 @@ export const PoolTxsMsg = ({
- {msgIndex === 0 && (
+ {isFirstSubRow && (
{formatUTC(transaction.created)}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx
index de47cda53..8fa2be046 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/PoolTxsTable.tsx
@@ -7,6 +7,9 @@ import type { Option, PoolDetail, Transaction } from "lib/types";
import { PoolTxsTableHeader } from "./PoolTxsTableHeader";
import { PoolTxsTableRow } from "./PoolTxsTableRow";
+const TEMPLATE_COLUMNS =
+ "25px 180px 40px minmax(360px, 1fr) max(160px) max(220px)";
+
interface PoolTxsTableProps {
pool: PoolDetail;
transactions: Option;
@@ -25,19 +28,16 @@ export const PoolTxsTable = ({
if (isLoading) return ;
if (!transactions?.length) return emptyState;
- const templateColumns =
- "25px 180px 40px minmax(360px, 1fr) max(160px) max(220px)";
-
return (
-
+
{transactions.map((transaction) => (
))}
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx
index 1b78e7742..e2f04d780 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolAssetCard.tsx
@@ -51,7 +51,7 @@ export const PoolAssetCard = ({
{description}
- {assetText}
+ {assetText}{" "}
{formatBalanceWithDenom({
coin: poolAsset,
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx
index fcceedf78..f1bff98fa 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/components/PoolLogoLink.tsx
@@ -15,7 +15,6 @@ export const PoolLogoLink = ({ pool }: PoolLogoLinkProps) => (
logoSize={5}
marginLeft={-4}
minW={0}
- textVariant="small"
/>
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx
index 7f4637b91..a5db92991 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lockup/MsgLockTokensDetail.tsx
@@ -83,7 +83,7 @@ export const MsgLockTokensDetail = ({
event.msg_index === msgIndex)
?.events?.find((event) => event.type === "coin_received");
- let eventAssets = receivedEvent?.attributes
- .at(1)
- ?.value.split(",")
- .map((asset) => coinFromStr(asset));
+ const assetAttr = receivedEvent?.attributes.at(1)?.value;
+ let eventAssets = assetAttr ? coinsFromStr(assetAttr) : undefined;
if (msgSwapDenom) {
const specifiedAsset = eventAssets?.find(
(asset) => asset.denom === msgSwapDenom
);
const swapAttr = receivedEvent?.attributes.at(-1)?.value;
- const swapAsset = swapAttr ? coinFromStr(swapAttr) : undefined;
+ const swapAsset = swapAttr ? coinsFromStr(swapAttr)[0] : undefined;
eventAssets =
specifiedAsset && swapAsset
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/components/PoolLPCard.tsx b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/components/PoolLPCard.tsx
index adf50dcea..a1252ea63 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/components/PoolLPCard.tsx
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/lp/components/PoolLPCard.tsx
@@ -56,7 +56,7 @@ export const PoolLPCard = ({
diff --git a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/utils.ts b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/utils.ts
index 9e55b841a..e2e807b31 100644
--- a/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/utils.ts
+++ b/src/lib/pages/pools/components/pool-details/tables/pool-txs/messages/utils.ts
@@ -1,14 +1,17 @@
import type { Coin } from "@cosmjs/stargate";
+import { parseCoins } from "@cosmjs/stargate";
import type { Message } from "lib/types";
import { extractTxDetails } from "lib/utils";
export const getPoolDenom = (poolId: string) => `gamm/pool/${poolId}`;
-export const coinFromStr = (str: string): Coin => {
- const amount = str.match(/[0-9]+/g)?.[0] ?? "";
- const denom = str.slice(amount.length);
- return { amount, denom };
+export const coinsFromStr = (str: string): Coin[] => {
+ try {
+ return parseCoins(str);
+ } catch {
+ return [];
+ }
};
export const extractPoolMsgs = (msgs: Message[], poolId: number) => {