public static long btcToSatoshi(BigDecimal coins) throws ArithmeticException {
        return coins.movePointRight(SMALLEST_UNIT_EXPONENT).longValueExact();
    }
@Test(expected = ArithmeticException.class)
    public void testBtcToSatoshi_tooSmall() {
        btcToSatoshi(new BigDecimal("-92233720368.54775809")); // .00000001 less than minimum value
    }