Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
943 changes: 521 additions & 422 deletions package-lock.json

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"version": "3.1.1",
"private": true,
"dependencies": {
"@cosmjs/crypto": "^0.32.3",
"@cosmjs/encoding": "^0.32.3",
"@cosmjs/ledger-amino": "^0.32.3",
"@cosmjs/math": "^0.32.3",
"@cosmjs/proto-signing": "^0.32.3",
"@cosmjs/stargate": "^0.32.3",
"@cosmjs/tendermint-rpc": "^0.32.3",
"@cosmjs/crypto": "^0.36.1",
"@cosmjs/encoding": "^0.36.1",
"@cosmjs/ledger-amino": "^0.36.1",
"@cosmjs/math": "^0.36.1",
"@cosmjs/proto-signing": "^0.36.1",
"@cosmjs/stargate": "^0.36.1",
"@cosmjs/tendermint-rpc": "^0.36.1",
"@ledgerhq/hw-transport-webusb": "^5.53.1",
"@material-ui/core": "^4.11.3",
"@material-ui/icons": "^4.11.2",
Expand All @@ -36,7 +36,7 @@
"lodash": "^4.17.21",
"moment": "^2.29.1",
"mui-datatables": "^3.7.6",
"persistenceonejs": "^2.3.0-rc1",
"persistenceonejs": "^3.0.2",
"prettier": "^2.8.8",
"process": "^0.11.10",
"qrcode.react": "^1.0.1",
Expand Down
19 changes: 9 additions & 10 deletions src/containers/Common/ModalVIewAmountDetails/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { Modal } from "react-bootstrap";
import React, { useState } from "react";
import { connect } from "react-redux";
import helper, { tokenValueConversion } from "../../../utils/helper";
import helper, { getDenomFromMinimalDenom, tokenValueConversion } from "../../../utils/helper";
import { useTranslation } from "react-i18next";
import { decimalize, formatNumber } from "../../../utils/scripts";
import NumberView from "../../../components/NumberView";
import ReactGA from "react-ga4";
import { DefaultChainInfo, PstakeInfo } from "../../../config";
import { QueryClientImpl as IBCQueryClientImpl } from "persistenceonejs/ibc/applications/transfer/v1/query";
const tmRPC = require("@cosmjs/tendermint-rpc");
const { QueryClient, setupIbcExtension } = require("@cosmjs/stargate");
const tendermintRPCURL = process.env.REACT_APP_TENDERMINT_RPC_ENDPOINT;
Expand All @@ -32,11 +33,9 @@ const ModalViewAmountDetails = (props) => {
const tendermintClient = await tmRPC.Tendermint34Client.connect(
tendermintRPCURL
);
const queryClient = new QueryClient(tendermintClient);
const ibcExtension = setupIbcExtension(queryClient);
let ibcDenomeResponse = await ibcExtension.ibc.transfer.denomTrace(
denom
);
const ibcQueryClientService = new IBCQueryClientImpl(tendermintClient);
const ibcDenomeResponse = await ibcQueryClientService.Denom({ hash:denom});

let data = {
dataResponse: item,
denomResponse: ibcDenomeResponse
Expand Down Expand Up @@ -82,7 +81,7 @@ const ModalViewAmountDetails = (props) => {
)}
 
{helper.denomChange(
item.denomResponse.denomTrace.baseDenom
item.denomResponse.denomTrace.base
)}
</li>
);
Expand All @@ -99,10 +98,10 @@ const ModalViewAmountDetails = (props) => {
)}
/>
{helper.denomChange(
item.denomResponse.denomTrace.baseDenom
item.denomResponse.denomTrace.base
)}{" "}
( IBC Trace path - {item.denomResponse.denomTrace.path},
denom: {item.denomResponse.denomTrace.baseDenom} ){" "}
( IBC Trace path - {item.denomResponse.denomTrace.trace[0].channelId},
denom: {item.denomResponse.denomTrace.base} ){" "}
{item.dataResponse.denom}
</li>
);
Expand Down
2 changes: 0 additions & 2 deletions src/containers/Common/ModalViewUnbondDetails/ButtonSubmit.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ const ButtonSubmit = ({ entry, validatorAddress, type, list }) => {
const memo = useSelector((state) => state.cancelUnbondTx.memo);

const onClick = () => {
console.log(entry, validatorAddress, "clicked");
let msgs = [];
if (type === "individual") {
msgs.push(
Expand Down Expand Up @@ -50,7 +49,6 @@ const ButtonSubmit = ({ entry, validatorAddress, type, list }) => {
const disable = memo.error.message !== "";

const onClickKeplr = () => {
console.log(entry, validatorAddress, "clicked");
let msgs = [];
if (type === "individual") {
msgs.push(
Expand Down
1 change: 0 additions & 1 deletion src/containers/Common/ModalViewUnbondDetails/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ const ModalViewUnbondDetails = (props) => {
const unbondAmount = useSelector((state) => state.unbond.unbond);
const show = useSelector((state) => state.cancelUnbondTx.modal);
const response = useSelector((state) => state.common.error);
console.log(props.list, "unbond-list");
const { t } = useTranslation();
const handleClose = () => {
dispatch(hideTxCancelUnbondModal());
Expand Down
4 changes: 0 additions & 4 deletions src/containers/Common/TokenInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,9 @@ import { fetchUnbondDelegations } from "../../store/actions/unbond";
import { fetchTokenPrice } from "../../store/actions/tokenPrice";
import { useTranslation } from "react-i18next";
import ModalViewUnbondDetails from "./ModalViewUnbondDetails";
import ModalViewVestingDetails from "./ModalViewVestingDetails";
import ModalViewAmountDetails from "./ModalVIewAmountDetails";
import Icon from "../../components/Icon";
import { Dropdown, OverlayTrigger, Popover } from "react-bootstrap";
import ModalViewDelegationDetails from "./ModalViewDelegationDetails";
import { fetchValidators } from "../../store/actions/validators";
import NumberView from "../../components/NumberView";
import { decimalize, formatNumber, stringTruncate } from "../../utils/scripts";
import { showTxWithDrawTotalModal } from "../../store/actions/transactions/withdrawTotalRewards";
import ReactGA from "react-ga4";
Expand Down
1 change: 0 additions & 1 deletion src/containers/Staking/StakingTabs.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ const StakingTabs = () => {
}
}, [delegations]);

console.log(activeTab, "activeTab--11");
const onClick = (name) => {
setActiveTab(name);
};
Expand Down
8 changes: 4 additions & 4 deletions src/containers/Transactions/Send/Amount.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ const Amount = () => {
<span className="title">{t("TRANSFERABLE_BALANCE")}:</span>
<span className="value">
<NumberView value={formatNumber(token.transferableAmount)} />
&nbsp;{helper.denomChange(token.tokenItem.denomTrace.baseDenom)}
&nbsp;{helper.denomChange(token.tokenItem.denomTrace.base)}
</span>
</span>
) : (
Expand All @@ -129,9 +129,9 @@ const Amount = () => {
<span className="title">{t("TRANSFERABLE_BALANCE")}:</span>
<span className="value">
{token.transferableAmount.toLocaleString()}
{helper.denomChange(token.tokenItem.denomTrace.baseDenom)}( IBC
Trace path - {token.tokenItem.denomTrace.path} , denom:{" "}
{token.tokenItem.denomTrace.baseDenom}, {token.tokenDenom})
{helper.denomChange(token.tokenItem.denomTrace.base)}( IBC
Trace path - {token.tokenItem.denomTrace.trace[0].channelId} , denom:{" "}
{token.tokenItem.denomTrace.base}, {token.tokenDenom})
</span>
</span>
)
Expand Down
4 changes: 2 additions & 2 deletions src/containers/Transactions/Send/Tokens.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ const Tokens = () => {
width={20}
className="mr-2"
/>
{helper.denomChange(item.denomTrace.baseDenom)} (
{item.denomTrace.path})
{helper.denomChange(item.denomTrace.base)} (
{item.denomTrace.trace[0].channelId})
</MenuItem>
);
}
Expand Down
10 changes: 5 additions & 5 deletions src/containers/Transactions/SendIbc/Amount.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ const Amount = () => {
<span
className="value">
<NumberView value={formatNumber(token.transferableAmount)}/>
&nbsp;{helper.denomChange(token.tokenItem.denomTrace.baseDenom)}
&nbsp;{helper.denomChange(token.tokenItem.denomTrace.base)}
</span>
</span>
:
Expand All @@ -103,9 +103,9 @@ const Amount = () => {
<Popover id="popover-memo">
<Popover.Content>
{`${token.transferableAmount.toLocaleString()}
${helper.denomChange(token.tokenItem.denomTrace.baseDenom)}
( IBC Trace path - ${token.tokenItem.denomTrace.path},
denom: ${token.tokenItem.denomTrace.baseDenom}), ${token.tokenDenom}` }
${helper.denomChange(token.tokenItem.denomTrace.base)}
( IBC Trace path - ${token.tokenItem.denomTrace.trace[0].channelId},
denom: ${token.tokenItem.denomTrace.base}), ${token.tokenDenom}` }
</Popover.Content>
</Popover>
}>
Expand All @@ -116,7 +116,7 @@ const Amount = () => {
</span>
<span className="value">
<NumberView value={formatNumber(token.transferableAmount)}/>
{helper.denomChange(token.tokenItem.denomTrace.baseDenom)}
{helper.denomChange(token.tokenItem.denomTrace.base)}
</span>
</span>
</OverlayTrigger>
Expand Down
6 changes: 3 additions & 3 deletions src/containers/Transactions/SendIbc/Tokens.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,10 +116,10 @@ const Tokens = () => {
width={20}
className="mr-2"
/>
{denomChange(item.denomTrace.baseDenom) === "Unknown"
{denomChange(item.denomTrace.base) === "Unknown"
? stringTruncate(item.denom, 5)
: denomChange(item.denomTrace.baseDenom)}
({item.denomTrace.path})
: denomChange(item.denomTrace.base)}
({item.denomTrace.trace[0].channelId})
</MenuItem>
);
}
Expand Down
20 changes: 20 additions & 0 deletions src/store/actions/balance.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import {
DefaultChainInfo,
stkATOMInfo
} from "../../config";
import { QueryClientImpl as IBCQueryClientImpl } from "persistenceonejs/ibc/applications/transfer/v1/query";

const tendermintRPCURL = process.env.REACT_APP_TENDERMINT_RPC_ENDPOINT;

Expand Down Expand Up @@ -111,6 +112,24 @@ export const fetchTransferableVestingAmount = (address) => {
const denomResponse = getDenomFromMinimalDenom(item.denom);
item.tokenImage = denomResponse.tokenImg;
tokenList.push(item);
} else {
if (item.denom.startsWith("ibc")) {
let denomText = item.denom.substr(item.denom.indexOf("/") + 1);
const ibcQueryClientService = new IBCQueryClientImpl(rpcClient);
const ibcDenomeResponse = await ibcQueryClientService.Denom({ hash:denomText});
const denomResponse = getDenomFromMinimalDenom(
ibcDenomeResponse.denom?.base
);

let transeDenomData = {
denom: item.denom,
denomTrace: ibcDenomeResponse.denom,
amount: item.amount,
ibcBalance: true,
tokenImage: denomResponse.tokenImg
};
tokenList.push(transeDenomData);
}
}
}
const account = await getAccount(address);
Expand All @@ -129,6 +148,7 @@ export const fetchTransferableVestingAmount = (address) => {
dispatch(
fetchVestingBalanceSuccess(tokenValueConversion(vestingAmount))
);
console.log(tokenList, "tokenList")
dispatch(fetchTokenListSuccess(tokenList));
} else {
dispatch(fetchTransferableBalanceSuccess(0));
Expand Down
3 changes: 1 addition & 2 deletions src/store/actions/delegations.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
import Lodash from "lodash";
import transactions from "../../utils/transactions";
import { QueryClientImpl as StakingQueryClient } from "cosmjs-types/cosmos/staking/v1beta1/query";
import { QueryClientImpl as LsNativeStakingQueryClient } from "persistenceonejs/cosmos/staking/v1beta1/query";
import { QueryClientImpl as LsNativeStakingQueryClient } from "persistenceonejs/gaia/liquid/v1beta1/query";
import * as Sentry from "@sentry/browser";
import { stringToNumber } from "../../utils/scripts";
import { tokenValueConversion } from "../../utils/helper";
Expand Down Expand Up @@ -46,7 +46,6 @@ export const fetchDelegationsTransfer = async (address) => {
};

export const fetchDelegationsCount = (address) => {
fetchDelegationsTransfer(address);
return async (dispatch) => {
try {
const rpcClient = await transactions.RpcClient();
Expand Down
17 changes: 5 additions & 12 deletions src/store/actions/rewards.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import transactions from "../../utils/transactions";
import { QueryClientImpl } from "cosmjs-types/cosmos/distribution/v1beta1/query";
import ActionHelper from "../../utils/actions";
import { QueryClientImpl as StakingQueryClientImpl } from "cosmjs-types/cosmos/staking/v1beta1/query";
import { QueryClientImpl as IBCQueryClientImpl } from "persistenceonejs/ibc/applications/transfer/v1/query";
import * as Sentry from "@sentry/browser";
import { decimalize, stringToNumber } from "../../utils/scripts";
import {
Expand All @@ -21,8 +22,6 @@ import {
import Lodash from "lodash";
import { sortTokensByDenom } from "../../utils/validations";
import { DefaultChainInfo, PstakeInfo } from "../../config";
import { QueryClient, setupIbcExtension } from "@cosmjs/stargate";
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
const tendermintRPCURL = process.env.REACT_APP_TENDERMINT_RPC_ENDPOINT;

export const fetchRewardsProgress = () => {
Expand Down Expand Up @@ -77,28 +76,22 @@ export const fetchTotalRewards = (address) => {
dispatch(fetchRewardsProgress());
const rpcClient = await transactions.RpcClient();
const distributionQueryService = new QueryClientImpl(rpcClient);
const tendermintClient = await Tendermint34Client.connect(
tendermintRPCURL
);
const queryClient = new QueryClient(tendermintClient);
await distributionQueryService
.DelegationTotalRewards({
delegatorAddress: address
})
.then(async (delegatorRewardsResponse) => {
if (delegatorRewardsResponse.total.length) {
console.log(delegatorRewardsResponse, "delegatorRewardsResponse");
let allTokensRewards = [];
for (const token of delegatorRewardsResponse.total) {
if (token.denom.startsWith("ibc")) {
let denomText = token.denom.substring(
token.denom.indexOf("/") + 1
);
const ibcExtension = setupIbcExtension(queryClient);
let ibcDenomeResponse =
await ibcExtension.ibc.transfer.denomTrace(denomText);
const ibcQueryClientService = new IBCQueryClientImpl(rpcClient);
const ibcDenomeResponse = await ibcQueryClientService.Denom({ hash:denomText});
const denomResponse = getDenomFromMinimalDenom(
ibcDenomeResponse.denomTrace?.baseDenom
ibcDenomeResponse.denom?.base
);
const decimalizedValue = decimalize(token.amount, 18);
const rewards = decimalize(
Expand Down Expand Up @@ -180,7 +173,7 @@ export const fetchTotalRewards = (address) => {
Sentry.captureException(
error.response ? error.response.data.message : error.message
);
console.log(
console.log(error,
error.response ? error.response.data.message : error.message
);
});
Expand Down
5 changes: 1 addition & 4 deletions src/store/actions/tokenizeShares.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { QueryClientImpl as BankQueryClientImpl } from "cosmjs-types/cosmos/bank/v1beta1/query";
import transactions from "../../utils/transactions";
import { QueryClientImpl } from "cosmjs-types/cosmos/staking/v1beta1/query";
import { QueryClientImpl as LsNativeStakingQueryClient } from "persistenceonejs/cosmos/staking/v1beta1/query";
import { QueryClientImpl as LsNativeStakingQueryClient } from "persistenceonejs/gaia/liquid/v1beta1/query";
import { QueryClientImpl as LsNativeDistributionQueryClient } from "persistenceonejs/cosmos/distribution/v1beta1/query";
import {
TOKENIZE_SHARES_FETCH_SUCCESS,
Expand Down Expand Up @@ -85,7 +83,6 @@ export const fetchTokenizedShareRewards = (address) => {
const response = await lsNativeQueryService.TokenizeShareRecordReward({
ownerAddress: address
});
console.log(response, "response-response-rewards")
if (response) {
let list = [];
for (const reward of response.rewards) {
Expand Down
6 changes: 3 additions & 3 deletions src/store/actions/transactionHistory.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@ function createDefaultRegistry() {
"/cosmos.feegrant.v1beta1.MsgGrantAllowance",
feeGrantTx.MsgGrantAllowance
],
["/cosmos.staking.v1beta1.MsgTokenizeShares", MsgTokenizeShares],
["/gaia.liquid.v1beta1.MsgTokenizeShares", MsgTokenizeShares],
[
"/cosmos.staking.v1beta1.MsgRedeemTokensForShares",
"/gaia.liquid.v1beta1.MsgRedeemTokensForShares",
MsgRedeemTokensForShares
],
["/cosmos.authz.v1beta1.MsgExec", authzTx.MsgExec],
["/cosmos.authz.v1beta1.MsgRevoke", authzTx.MsgRevoke],
[
"/cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord",
"/gaia.liquid.v1beta1.MsgTransferTokenizeShareRecord",
MsgTransferTokenizeShareRecord
],
["/cosmos.staking.v1beta1.MsgValidatorBond", MsgValidatorBond],
Expand Down
2 changes: 1 addition & 1 deletion src/utils/actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { decimalize, stringToNumber } from "./scripts";
import { tokenValueConversion } from "./helper";
import { DefaultChainInfo } from "../config";
import { QueryClientImpl as BankQueryClientImpl } from "cosmjs-types/cosmos/bank/v1beta1/query";
import { QueryClientImpl as LsNativeStakingQueryClient } from "persistenceonejs/cosmos/staking/v1beta1/query";
import { QueryClientImpl as LsNativeStakingQueryClient } from "persistenceonejs/gaia/liquid/v1beta1/query";
import { QueryClientImpl as StakingQueryClientImpl } from "cosmjs-types/cosmos/staking/v1beta1/query";
import { decodeCosmosSdkDecFromProto } from "@cosmjs/stargate";

Expand Down
6 changes: 3 additions & 3 deletions src/utils/aminoConvter.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export function createLSNativeAminoConverters() {
return {
"/cosmos.staking.v1beta1.MsgTokenizeShares": {
"/gaia.liquid.v1beta1.MsgTokenizeShares": {
aminoType: "cosmos-sdk/MsgTokenizeShares",
toAmino: ({
delegatorAddress,
Expand All @@ -25,7 +25,7 @@ export function createLSNativeAminoConverters() {
amount: amount
})
},
"/cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord": {
"/gaia.liquid.v1beta1.MsgTransferTokenizeShareRecord": {
aminoType: "cosmos-sdk/MsgTransferTokenizeRecord",
toAmino: ({ tokenizeShareRecordId, sender, newOwner }) => ({
tokenize_share_record_id: tokenizeShareRecordId.toString(),
Expand All @@ -38,7 +38,7 @@ export function createLSNativeAminoConverters() {
newOwner: new_owner
})
},
"/cosmos.staking.v1beta1.MsgRedeemTokensForShares": {
"/gaia.liquid.v1beta1.MsgRedeemTokensForShares": {
aminoType: "cosmos-sdk/MsgRedeemTokensForShares",
toAmino: ({ delegatorAddress, amount }) => ({
delegator_address: delegatorAddress,
Expand Down
Loading
Loading