diff --git a/package.json b/package.json index 11307b1..18818ce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lum-network/sdk-javascript", - "version": "0.4.4", + "version": "0.4.5", "license": "Apache-2.0", "description": "Javascript SDK library for NodeJS and Web browsers to interact with the Lum Network.", "homepage": "https://github.com/lum-network/sdk-javascript#readme", diff --git a/src/utils/units.ts b/src/utils/units.ts index 102def0..528cee3 100644 --- a/src/utils/units.ts +++ b/src/utils/units.ts @@ -16,7 +16,9 @@ export const convertUnit = (coin: LumTypes.Coin, toDenom: string): string => { throw new Error('More than one separator found'); } - if (coin.denom.startsWith('u') && coin.denom.endsWith(toDenom)) { + if (coin.denom === toDenom) { + return coin.amount; + } else if (coin.denom.startsWith('u') && coin.denom.endsWith(toDenom)) { // from micro to base if (parts.length !== 1) { throw new Error('Micro units cannot have floating precision'); diff --git a/tests/utils.test.ts b/tests/utils.test.ts index 5946e93..bafbb0f 100644 --- a/tests/utils.test.ts +++ b/tests/utils.test.ts @@ -2,6 +2,7 @@ import { LumConstants, LumUtils } from '../src'; describe('Utils', () => { it('Unit conversion should output consistent results', () => { + expect(LumUtils.convertUnit({ denom: LumConstants.MicroLumDenom, amount: '23456789' }, LumConstants.MicroLumDenom)).toEqual('23456789'); expect(LumUtils.convertUnit({ denom: LumConstants.LumDenom, amount: '23.456789' }, LumConstants.LumDenom)).toEqual('23.456789'); expect(LumUtils.convertUnit({ denom: LumConstants.LumDenom, amount: '23.456789' }, LumConstants.MicroLumDenom)).toEqual('23456789'); expect(LumUtils.convertUnit({ denom: LumConstants.LumDenom, amount: '23456789' }, LumConstants.MicroLumDenom)).toEqual('23456789000000');