Skip to content

Commit

Permalink
feat: update msg
Browse files Browse the repository at this point in the history
  • Loading branch information
akhlopiachyi committed Mar 15, 2024
1 parent de4477f commit 2987c70
Show file tree
Hide file tree
Showing 13 changed files with 226 additions and 50 deletions.
2 changes: 1 addition & 1 deletion apps/web-coreum/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "web-coreum",
"version": "2.19.3-103",
"version": "2.19.3-104",
"license": "Apache-2.0",
"private": true,
"scripts": {
Expand Down
13 changes: 10 additions & 3 deletions packages/ui/src/components/msg/asset/burn/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { MsgBurn } from '@/models';
import Name from '@/components/name';
import { useProfileRecoil } from '@/recoil/profiles';
import { formatToken } from '@/utils';
import { Asset } from '@/screens/assets/hooks';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import Spinner from '@/components/loadingSpinner';
import Big from 'big.js';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
Expand All @@ -32,11 +32,18 @@ const Burn: FC<{
amount = formatNumberWithThousandsSeparator(availableValue);
}

let parsedAmount = `${amount} ${asset?.display.toUpperCase() || message.coin.denom.toUpperCase()}`;

const tokenInAssets = assets.find(
(assetItem) => message.coin.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let displayDenom = asset?.display.toUpperCase() || message.coin.denom.toUpperCase();
if (tokenInAssets && tokenInAssets?.extra.xrpl_info) {
displayDenom =
tokenInAssets?.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

let parsedAmount = `${amount} ${displayDenom}`;

if (tokenInAssets) {
if (message.coin.denom.includes('ibc')) {
Expand Down
13 changes: 10 additions & 3 deletions packages/ui/src/components/msg/asset/freeze/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgFreeze } from '@/models';
import { formatToken } from '@/utils';
import { Asset } from '@/screens/assets/hooks';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import Spinner from '@/components/loadingSpinner';
import Big from 'big.js';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
Expand Down Expand Up @@ -35,11 +35,18 @@ const Freeze: FC<{
amount = formatNumberWithThousandsSeparator(availableValue);
}

let parsedAmount = `${amount} ${asset?.display.toUpperCase() || message.coin.denom.toUpperCase()}`;

const tokenInAssets = assets.find(
(assetItem) => message.coin.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let displayDenom = asset?.display.toUpperCase() || message.coin.denom.toUpperCase();
if (tokenInAssets && tokenInAssets?.extra.xrpl_info) {
displayDenom =
tokenInAssets?.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

let parsedAmount = `${amount} ${displayDenom}`;

if (tokenInAssets) {
if (message.coin.denom.includes('ibc')) {
Expand Down
13 changes: 10 additions & 3 deletions packages/ui/src/components/msg/asset/mint/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgMint } from '@/models';
import { formatToken } from '@/utils';
import { Asset } from '@/screens/assets/hooks';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import Spinner from '@/components/loadingSpinner';
import Big from 'big.js';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
Expand Down Expand Up @@ -34,11 +34,18 @@ const Mint: FC<{
amount = formatNumberWithThousandsSeparator(availableValue);
}

let parsedAmount = `${amount} ${asset?.display.toUpperCase() || message.coin.denom.toUpperCase()}`;

const tokenInAssets = assets.find(
(assetItem) => message.coin.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let displayDenom = asset?.display.toUpperCase() || message.coin.denom.toUpperCase();
if (tokenInAssets && tokenInAssets?.extra.xrpl_info) {
displayDenom =
tokenInAssets?.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

let parsedAmount = `${amount} ${displayDenom}`;

if (tokenInAssets) {
if (message.coin.denom.includes('ibc')) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgSetWhitelistedLimit } from '@/models';
import { formatToken } from '@/utils';
import { Asset } from '@/screens/assets/hooks';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import Spinner from '@/components/loadingSpinner';
import Big from 'big.js';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
Expand Down Expand Up @@ -35,11 +35,18 @@ const SetWhitelistedLimit: FC<{
amount = formatNumberWithThousandsSeparator(availableValue);
}

let parsedAmount = `${amount} ${asset?.display.toUpperCase() || message.coin.denom.toUpperCase()}`;

const tokenInAssets = assets.find(
(assetItem) => message.coin.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let displayDenom = asset?.display.toUpperCase() || message.coin.denom.toUpperCase();
if (tokenInAssets && tokenInAssets?.extra.xrpl_info) {
displayDenom =
tokenInAssets?.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

let parsedAmount = `${amount} ${displayDenom}`;

if (tokenInAssets) {
if (message.coin.denom.includes('ibc')) {
Expand Down
13 changes: 10 additions & 3 deletions packages/ui/src/components/msg/asset/unfreeze/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Trans } from 'react-i18next';
import Name from '@/components/name';
import { MsgUnfreeze } from '@/models';
import { formatToken } from '@/utils';
import { Asset } from '@/screens/assets/hooks';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import Spinner from '@/components/loadingSpinner';
import Big from 'big.js';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
Expand Down Expand Up @@ -36,11 +36,18 @@ const Unfreeze: FC<{
amount = formatNumberWithThousandsSeparator(availableValue);
}

let parsedAmount = `${amount} ${asset?.display.toUpperCase() || message.coin.denom.toUpperCase()}`;

const tokenInAssets = assets.find(
(assetItem) => message.coin.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let displayDenom = asset?.display.toUpperCase() || message.coin.denom.toUpperCase();
if (tokenInAssets && tokenInAssets?.extra.xrpl_info) {
displayDenom =
tokenInAssets?.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

let parsedAmount = `${amount} ${displayDenom}`;

if (tokenInAssets) {
if (message.coin.denom.includes('ibc')) {
Expand Down
69 changes: 61 additions & 8 deletions packages/ui/src/components/msg/bank/multisend/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,50 @@ import Name from '@/components/name';
import { MsgMultiSend } from '@/models';
import { useProfileRecoil } from '@/recoil/profiles/hooks';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import { formatToken } from '@/utils/format_token';
import Typography from '@mui/material/Typography';
import Big from 'big.js';
import { Trans, useTranslation } from 'next-i18next';
import { FC } from 'react';

const RecieverName: FC<{ address: string; coins: MsgCoin[]; metadatas: any[] }> = (props) => {
const { address: theAddress, coins, metadatas } = props;
const RecieverName: FC<{
address: string;
coins: MsgCoin[];
metadatas: any[];
assets: Asset[];
}> = (props) => {
const { address: theAddress, coins, metadatas, assets } = props;
const { t } = useTranslation('transactions');
const { address, name } = useProfileRecoil(theAddress);
const recieverMoniker = name || theAddress;

const parsedAmount = coins
?.map((x) => {
const asset = metadatas.find((item) => item.base.toLowerCase() === x.denom.toLowerCase());
const tokenInAssets = assets.find(
(assetItem) => x.denom.toLowerCase() === assetItem.denom.toLowerCase()
);

let amount = formatToken(x.amount, x.denom).value;
let displayDenom = asset ? asset.display.toUpperCase() : x.denom.toUpperCase();

if (tokenInAssets && x.denom.includes('ibc')) {
const tokenDenom = tokenInAssets.extra.ibc_info!.display_name;
const availableValue = new Big(+x.amount)
.div(Big(10).pow(tokenInAssets.extra.ibc_info!.precision))
.toFixed(tokenInAssets.extra.ibc_info!.precision);
amount = formatNumberWithThousandsSeparator(availableValue);

return `${amount} ${tokenDenom}`;
}

if (tokenInAssets && tokenInAssets.extra.xrpl_info) {
displayDenom =
tokenInAssets.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

if (asset?.denom_units[1].exponent) {
const availableValue = new Big(+x.amount)
Expand All @@ -30,7 +58,7 @@ const RecieverName: FC<{ address: string; coins: MsgCoin[]; metadatas: any[] }>
}

// Kept the "toUpperCase()" in order to show the token symbol in uppercase
return `${amount} ${asset ? asset.display.toUpperCase() : x.denom.toUpperCase()}`;
return `${amount} ${displayDenom}`;
})
.reduce(
(text, value, j, array) => text + (j < array.length - 1 ? ', ' : ` ${t('and')} `) + value
Expand All @@ -48,19 +76,43 @@ const RecieverName: FC<{ address: string; coins: MsgCoin[]; metadatas: any[] }>
);
};

const Multisend: FC<{ message: MsgMultiSend; metadatas: any[]; metadataLoading: boolean }> = (
props
) => {
const Multisend: FC<{
message: MsgMultiSend;
metadatas: any[];
metadataLoading: boolean;
assets: Asset[];
}> = (props) => {
const { t } = useTranslation('transactions');
const { classes } = useStyles();

const { message, metadatas } = props;
const { message, metadatas, assets } = props;

const sender = message.inputs[0];
const senderAmount = sender?.coins
?.map((x) => {
const asset = metadatas.find((item) => item.base.toLowerCase() === x.denom.toLowerCase());
const tokenInAssets = assets.find(
(assetItem) => x.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let amount = formatToken(x.amount, x.denom).value;
let displayDenom = asset ? asset.display.toUpperCase() : x.denom.toUpperCase();

if (tokenInAssets && x.denom.includes('ibc')) {
const tokenDenom = tokenInAssets.extra.ibc_info!.display_name;
const availableValue = new Big(+x.amount)
.div(Big(10).pow(tokenInAssets.extra.ibc_info!.precision))
.toFixed(tokenInAssets.extra.ibc_info!.precision);
amount = formatNumberWithThousandsSeparator(availableValue);

return `${amount} ${tokenDenom}`;
}

if (tokenInAssets && tokenInAssets.extra.xrpl_info) {
displayDenom =
tokenInAssets.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

if (asset?.denom_units[1].exponent) {
const availableValue = new Big(+x.amount)
Expand All @@ -71,7 +123,7 @@ const Multisend: FC<{ message: MsgMultiSend; metadatas: any[]; metadataLoading:
}

// Kept the "toUpperCase()" in order to show the token symbol in uppercase
return `${amount} ${asset ? asset.display.toUpperCase() : x.denom.toUpperCase()}`;
return `${amount} ${displayDenom}`;
})
.reduce(
(text, value, i, array) => text + (i < array.length - 1 ? ', ' : ` ${t('and')} `) + value
Expand Down Expand Up @@ -104,6 +156,7 @@ const Multisend: FC<{ message: MsgMultiSend; metadatas: any[]; metadataLoading:
address={x.address}
coins={x.coins}
metadatas={metadatas}
assets={assets}
/>
))}
</div>
Expand Down
33 changes: 30 additions & 3 deletions packages/ui/src/components/msg/bank/send/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,47 @@ import Name from '@/components/name';
import { MsgSend } from '@/models';
import { useProfileRecoil } from '@/recoil/profiles/hooks';
import { formatNumberWithThousandsSeparator } from '@/screens/account_details/components/other_tokens/components/desktop';
import { Asset, convertHexToString } from '@/screens/assets/hooks';
import { formatToken } from '@/utils/format_token';
import Typography from '@mui/material/Typography';
import Big from 'big.js';
import { Trans, useTranslation } from 'next-i18next';
import { FC } from 'react';

const Send: FC<{ message: MsgSend; metadatas: any[]; metadataLoading: boolean }> = (props) => {
const Send: FC<{
message: MsgSend;
metadatas: any[];
metadataLoading: boolean;
assets: Asset[];
}> = (props) => {
const { t } = useTranslation('transactions');
const { message, metadatas } = props;
const { message, metadatas, assets } = props;

const parsedAmount = message?.amount
?.map((x) => {
const asset = metadatas.find((item) => item.base.toLowerCase() === x.denom.toLowerCase());
const tokenInAssets = assets.find(
(assetItem) => x.denom.toLowerCase() === assetItem.denom.toLowerCase()
);
let amount = formatToken(x.amount, x.denom).value;
let displayDenom = asset ? asset.display.toUpperCase() : x.denom.toUpperCase();

if (tokenInAssets && x.denom.includes('ibc')) {
const tokenDenom = tokenInAssets.extra.ibc_info!.display_name;
const availableValue = new Big(+x.amount)
.div(Big(10).pow(tokenInAssets.extra.ibc_info!.precision))
.toFixed(tokenInAssets.extra.ibc_info!.precision);
amount = formatNumberWithThousandsSeparator(availableValue);

return `${amount} ${tokenDenom}`;
}

if (tokenInAssets && tokenInAssets.extra.xrpl_info) {
displayDenom =
tokenInAssets.extra.xrpl_info.currency.length === 40
? convertHexToString(tokenInAssets?.extra.xrpl_info.currency)
: tokenInAssets?.extra.xrpl_info.currency;
}

if (asset?.denom_units[1].exponent) {
const availableValue = new Big(+x.amount)
Expand All @@ -27,7 +54,7 @@ const Send: FC<{ message: MsgSend; metadatas: any[]; metadataLoading: boolean }>
}

// Kept the "toUpperCase()" in order to show the token symbol in uppercase
return `${amount} ${asset ? asset.display.toUpperCase() : x.denom.toUpperCase()}`;
return `${amount} ${displayDenom}`;
})
.reduce(
(text, value, i, array) => text + (i < array.length - 1 ? ', ' : ` ${t('and')} `) + value
Expand Down
Loading

0 comments on commit 2987c70

Please sign in to comment.