diff --git a/package-lock.json b/package-lock.json index 0f753100..18f88872 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,6 +33,7 @@ "coingecko-api": "^1.0.10", "cosmjs-types": "^0.8.0", "crypto-browserify": "^3.12.0", + "decimal.js": "^10.5.0", "https-browserify": "^1.0.0", "i18next": "^19.8.7", "i18next-browser-languagedetector": "^6.0.1", @@ -7513,9 +7514,10 @@ } }, "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "license": "MIT" }, "node_modules/dedent": { "version": "0.7.0", diff --git a/package.json b/package.json index 4968b3a3..17731834 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "coingecko-api": "^1.0.10", "cosmjs-types": "^0.8.0", "crypto-browserify": "^3.12.0", + "decimal.js": "^10.5.0", "https-browserify": "^1.0.0", "i18next": "^19.8.7", "i18next-browser-languagedetector": "^6.0.1", diff --git a/src/store/actions/tokenizeShares.js b/src/store/actions/tokenizeShares.js index f54fcd6d..71e9e220 100644 --- a/src/store/actions/tokenizeShares.js +++ b/src/store/actions/tokenizeShares.js @@ -17,6 +17,7 @@ import { } from "./transactions/tokenizeShares"; import Long from "long"; import { decodeCosmosSdkDecFromProto } from "@cosmjs/stargate"; +import Decimal from 'decimal.js'; export const fetchTokenizedSharesSuccess = (list) => { return { @@ -84,13 +85,15 @@ 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) { const totalRewards = reward.reward.reduce((accumulator, object) => { - const rewards = decimalize(object?.amount); + const value = new Decimal(object?.amount); + const result = value.div('1e18'); const fixedRewardsResponse = tokenValueConversion( - stringToNumber(parseInt(rewards)) + stringToNumber(parseInt(result.toString())) ); return accumulator + fixedRewardsResponse; }, 0); diff --git a/src/utils/protoMsgHelper.js b/src/utils/protoMsgHelper.js index 23719161..8d3a8c48 100644 --- a/src/utils/protoMsgHelper.js +++ b/src/utils/protoMsgHelper.js @@ -21,6 +21,7 @@ import { MsgTokenizeShares } from "persistenceonejs/cosmos/staking/v1beta1/tx"; import { MsgWithdrawTokenizeShareRecordReward } from "persistenceonejs/cosmos/distribution/v1beta1/tx"; +import Decimal from "decimal.js"; export const msgSendTypeUrl = "/cosmos.bank.v1beta1.MsgSend"; const msgDelegateTypeUrl = "/cosmos.staking.v1beta1.MsgDelegate"; const msgRedelegateTypeUrl = "/cosmos.staking.v1beta1.MsgBeginRedelegate"; @@ -194,13 +195,14 @@ function TokenizeSharesTransferMsg(recordId, sender, newOwner) { } function RedeemTokenizedSharesMsg(fromAddress, denom, amount) { + const value = new Decimal(amount); return { typeUrl: msgRedeemTokensforShares, value: MsgRedeemTokensForShares.fromPartial({ delegatorAddress: fromAddress, amount: { denom: denom, - amount: String(amount) + amount: value.trunc().toString() } }) };