diff --git a/web/cashtab/src/hooks/__tests__/migrations.test.js b/web/cashtab/src/hooks/__tests__/migrations.test.js --- a/web/cashtab/src/hooks/__tests__/migrations.test.js +++ b/web/cashtab/src/hooks/__tests__/migrations.test.js @@ -35,6 +35,14 @@ new BigNumber('10012'), ); }); + it(`toSmallestDenomination() returns expected value if input is a BigNumber with 1 decimal place`, () => { + const { toSmallestDenomination } = useBCH(); + + const testInput = new BigNumber('100.1'); + expect(toSmallestDenomination(testInput, 8)).toStrictEqual( + new BigNumber('10010000000'), + ); + }); it('toSmallestDenomination() returns exact result as toSatoshi but in BigNumber format', () => { const BCH = new BCHJS(); const { toSmallestDenomination } = useBCH(); diff --git a/web/cashtab/src/hooks/useBCH.js b/web/cashtab/src/hooks/useBCH.js --- a/web/cashtab/src/hooks/useBCH.js +++ b/web/cashtab/src/hooks/useBCH.js @@ -416,10 +416,10 @@ // Output: a BigNumber of the amount of satoshis to be sent, or false if input is invalid // Validate - // Input should be a BigNumber with cashDecimals decimal places + // Input should be a BigNumber with no more decimal places than cashDecimals const isValidSendAmount = BigNumber.isBigNumber(sendAmount) && - sendAmount.dp() === cashDecimals; + sendAmount.dp() <= cashDecimals; if (!isValidSendAmount) { return false; }