/** * Convert from `Coin` type to BTC `BigDecimal` value . * * @param coin Coin value to convert to BTC * @return Bitcoin amount in BTC units */ public static BigDecimal coinToBTC(final Coin coin) { return satoshiToBtc(coin.value); } }
@Override public void serialize(Coin value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeNumber(BitcoinMath.coinToBTC(value)); } }
/** * Convert from BTC `BigDecimal` value to `Coin` type. * * @param btc Bitcoin amount in BTC units * @return bitcoinj `Coin` type (uses satoshi unit internally) */ public static Coin btcToCoin(final BigDecimal btc) { return Coin.valueOf(btcToSatoshi(btc)); }
@Override public Coin deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken token = p.getCurrentToken(); switch (token) { case VALUE_NUMBER_FLOAT: BigDecimal bd = p.getDecimalValue(); return BitcoinMath.btcToCoin(bd); case VALUE_NUMBER_INT: long val = p.getNumberValue().longValue(); // should be optimal, whatever it is return Coin.valueOf(val); default: return (Coin) ctxt.handleUnexpectedToken(Coin.class, p); } } }
inputs.add(new Outpoint(coinbaseTx, 0)); log.debug("amountGatheredSoFar = {}", BitcoinMath.satoshiToBtc(amountGatheredSoFar));