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 @@ -9,6 +9,22 @@ 0.00000546, ); }); + it('Replicate 8-decimal return value from instance of toSatoshi in TransactionBuilder with toSmallestDenomination', () => { + const BCH = new BCHJS(); + const { toSmallestDenomination } = useBCH(); + const testSendAmount = '0.12345678'; + expect( + parseInt(toSmallestDenomination(new BigNumber(testSendAmount), 8)), + ).toBe(BCH.BitcoinCash.toSatoshi(Number(testSendAmount).toFixed(8))); + }); + it('Replicate 2-decimal return value from instance of toSatoshi in TransactionBuilder with toSmallestDenomination', () => { + const BCH = new BCHJS(); + const { toSmallestDenomination } = useBCH(); + const testSendAmount = '0.12'; + expect( + parseInt(toSmallestDenomination(new BigNumber(testSendAmount), 8)), + ).toBe(BCH.BitcoinCash.toSatoshi(Number(testSendAmount).toFixed(8))); + }); it('toSmallestDenomination() returns false if input is not a BigNumber', () => { const { toSmallestDenomination } = useBCH(); const testInput = 132.12345678; 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 @@ -510,7 +510,7 @@ transactionBuilder.addOutput( BCH.Address.toCashAddress(destinationAddress), - BCH.BitcoinCash.toSatoshi(Number(sendAmount).toFixed(8)), + parseInt(toSmallestDenomination(value)), ); if (