public static BigDecimal toWei(String number, Unit unit) { return toWei(new BigDecimal(number), unit); }
public static BigDecimal fromWei(String number, Unit unit) { return fromWei(new BigDecimal(number), unit); }
public static BigDecimal convert(BigDecimal value, EthereumUnit unitFrom, EthereumUnit unitTo) throws EthereumUnitConversionNotImplementedException { if (unitFrom.equals(EthereumUnit.WEI) && unitTo.equals(EthereumUnit.ETHER)) { return Convert.fromWei(value, Convert.Unit.ETHER); } if (unitFrom.equals(EthereumUnit.ETHER) && unitTo.equals(EthereumUnit.WEI)) { return Convert.toWei(value, Convert.Unit.ETHER); } throw new EthereumUnitConversionNotImplementedException( String.format("Converting %s to %s is not implemented.", unitFrom, unitTo) ); }
@Test public void testToWei() { assertThat(Convert.toWei("21", Convert.Unit.WEI), is(new BigDecimal("21"))); assertThat(Convert.toWei("21", Convert.Unit.KWEI), is(new BigDecimal("21000"))); assertThat(Convert.toWei("21", Convert.Unit.MWEI), is(new BigDecimal("21000000"))); assertThat(Convert.toWei("21", Convert.Unit.GWEI), is(new BigDecimal("21000000000"))); assertThat(Convert.toWei("21", Convert.Unit.SZABO), is(new BigDecimal("21000000000000"))); assertThat(Convert.toWei("21", Convert.Unit.FINNEY), is(new BigDecimal("21000000000000000"))); assertThat(Convert.toWei("21", Convert.Unit.ETHER), is(new BigDecimal("21000000000000000000"))); assertThat(Convert.toWei("21", Convert.Unit.KETHER), is(new BigDecimal("21000000000000000000000"))); assertThat(Convert.toWei("21", Convert.Unit.METHER), is(new BigDecimal("21000000000000000000000000"))); assertThat(Convert.toWei("21", Convert.Unit.GETHER), is(new BigDecimal("21000000000000000000000000000"))); }
@Test public void testFromWei() { assertThat(Convert.fromWei("21000000000000", Convert.Unit.WEI), is(new BigDecimal("21000000000000"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.KWEI), is(new BigDecimal("21000000000"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.MWEI), is(new BigDecimal("21000000"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.GWEI), is(new BigDecimal("21000"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.SZABO), is(new BigDecimal("21"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.FINNEY), is(new BigDecimal("0.021"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.ETHER), is(new BigDecimal("0.000021"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.KETHER), is(new BigDecimal("0.000000021"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.METHER), is(new BigDecimal("0.000000000021"))); assertThat(Convert.fromWei("21000000000000", Convert.Unit.GETHER), is(new BigDecimal("0.000000000000021"))); }
private static RawTransaction createTransaction() { BigInteger value = Convert.toWei("1", Convert.Unit.ETHER).toBigInteger(); return RawTransaction.createEtherTransaction( BigInteger.valueOf(1048587), BigInteger.valueOf(500000), BigInteger.valueOf(500000), "0x9C98E381Edc5Fe1Ac514935F3Cc3eDAA764cf004", value); } }
/** * Converts the provided Wei amount (smallest value Unit) to Ethers. */ public static BigDecimal weiToEther(BigInteger wei) { return Convert.fromWei(wei.toString(), Convert.Unit.ETHER); }
private static RawTransaction createEtherTransaction(BigInteger nonce, String toAddress) { BigInteger value = Convert.toWei("0.5", Convert.Unit.ETHER).toBigInteger(); return RawTransaction.createEtherTransaction( nonce, GAS_PRICE, GAS_LIMIT, toAddress, value); }
public static BigDecimal weiToEth(BigInteger wei) { return Convert.fromWei(new BigDecimal(wei), Convert.Unit.ETHER); }
private TransactionReceipt send( String toAddress, BigDecimal value, Convert.Unit unit, BigInteger gasPrice, BigInteger gasLimit) throws IOException, InterruptedException, TransactionException { BigDecimal weiValue = Convert.toWei(value, unit); if (!Numeric.isIntegerValue(weiValue)) { throw new UnsupportedOperationException( "Non decimal Wei value provided: " + value + " " + unit.toString() + " = " + weiValue + " Wei"); } String resolvedAddress = ensResolver.resolve(toAddress); return send(resolvedAddress, "", weiValue.toBigIntegerExact(), gasPrice, gasLimit); }
public static BigDecimal weiToGweiBI(BigInteger wei) { return Convert.fromWei(new BigDecimal(wei), Convert.Unit.GWEI); }
@Test public void testTransferEther() throws Exception { unlockAccount(); BigInteger nonce = getNonce(ALICE.getAddress()); BigInteger value = Convert.toWei("0.5", Convert.Unit.ETHER).toBigInteger(); Transaction transaction = Transaction.createEtherTransaction( ALICE.getAddress(), nonce, GAS_PRICE, GAS_LIMIT, BOB.getAddress(), value); EthSendTransaction ethSendTransaction = web3j.ethSendTransaction(transaction).sendAsync().get(); String transactionHash = ethSendTransaction.getTransactionHash(); assertFalse(transactionHash.isEmpty()); TransactionReceipt transactionReceipt = waitForTransactionReceipt(transactionHash); assertThat(transactionReceipt.getTransactionHash(), is(transactionHash)); }
public static String weiToGwei(BigInteger wei) { return Convert.fromWei(new BigDecimal(wei), Convert.Unit.GWEI).toPlainString(); }
private void run(String walletFileLocation, String destinationAddress) { File walletFile = new File(walletFileLocation); Credentials credentials = getCredentials(walletFile); console.printf("Wallet for address " + credentials.getAddress() + " loaded\n"); if (!WalletUtils.isValidAddress(destinationAddress) && !EnsResolver.isValidEnsName(destinationAddress)) { exitError("Invalid destination address specified"); } Web3j web3j = getEthereumClient(); BigDecimal amountToTransfer = getAmountToTransfer(); Convert.Unit transferUnit = getTransferUnit(); BigDecimal amountInWei = Convert.toWei(amountToTransfer, transferUnit); confirmTransfer(amountToTransfer, transferUnit, amountInWei, destinationAddress); TransactionReceipt transactionReceipt = performTransfer( web3j, destinationAddress, credentials, amountInWei); console.printf("Funds have been successfully transferred from %s to %s%n" + "Transaction hash: %s%nMined block number: %s%n", credentials.getAddress(), destinationAddress, transactionReceipt.getTransactionHash(), transactionReceipt.getBlockNumber()); }
void countingEtherExample() throws Exception { CountDownLatch countDownLatch = new CountDownLatch(1); log.info("Waiting for " + COUNT + " transactions..."); Observable<BigInteger> transactionValue = web3j.transactionObservable() .take(COUNT) .map(Transaction::getValue) .reduce(BigInteger.ZERO, BigInteger::add); Subscription subscription = transactionValue.subscribe(total -> { BigDecimal value = new BigDecimal(total); log.info("Transaction value: " + Convert.fromWei(value, Convert.Unit.ETHER) + " Ether (" + value + " Wei)"); countDownLatch.countDown(); }, Throwable::printStackTrace); countDownLatch.await(10, TimeUnit.MINUTES); subscription.unsubscribe(); }
public static BigInteger etherToWei(BigDecimal ether) { return Convert.toWei(ether, Convert.Unit.ETHER).toBigInteger(); }
public static BigDecimal getBalanceInEther(Credentials credentials, Web3j web3j) throws Exception { EthGetBalance ethGetBalance = web3j.ethGetBalance(credentials.getAddress(), DefaultBlockParameterName.LATEST).send(); return Convert.fromWei(ethGetBalance.getBalance().toString(), Convert.Unit.ETHER); }
public static BigInteger gweiToWei(BigDecimal gwei) { return Convert.toWei(gwei, Convert.Unit.GWEI).toBigInteger(); }
/** * run method for setUp * balances in ether * */ @Override public void run() { /** setting balance to edit text*/ etherTextView.setText("Ether " + Convert.toWei(bigInteger.toString(), Convert.Unit.WEI).divide(new BigDecimal("1000000000000000000"))); ethTextView.setText("Eth " + Convert.toWei(bigInteger.toString(), Convert.Unit.WEI).divide(new BigDecimal("1000000000000000000"))); } });
public String pay(String paymentToETHAddress, BigDecimal amount) throws Exception { LOG.debug("ETH: Sending funds to {}, amount {}.", paymentToETHAddress, amount.toPlainString()); BigDecimal amountInWei = Convert.toWei(amount, Convert.Unit.ETHER); TransactionReceipt transactionReceipt = Transfer.sendFunds( web3j, credentials, paymentToETHAddress, amountInWei, Convert.Unit.WEI).send(); return transactionReceipt.getTransactionHash(); }