Browse Source

#71 Fix crash on failing ETH/ERC20 balance requests.

pass-iguana-arg
Artem Pikulin 7 years ago
parent
commit
7eeb533b74
  1. 8
      iguana/exchanges/etomicswap/etomiclib.cpp

8
iguana/exchanges/etomicswap/etomiclib.cpp

@ -554,10 +554,14 @@ char* getPubKeyFromPriv(char* privKey)
uint64_t getEthBalance(char* address)
{
char* hexBalance = getEthBalanceRequest(address);
if (hexBalance != NULL) {
// convert wei to satoshi
u256 balance = jsToU256(hexBalance) / boost::multiprecision::pow(u256(10), 10);
free(hexBalance);
return static_cast<uint64_t>(balance);
} else {
return 0;
}
}
uint64_t getErc20BalanceSatoshi(char *address, char *tokenAddress, uint8_t setDecimals)
@ -569,6 +573,7 @@ uint64_t getErc20BalanceSatoshi(char *address, char *tokenAddress, uint8_t setDe
char* hexBalance = ethCall(tokenAddress, ss.str().c_str());
// convert wei to satoshi
uint8_t decimals;
if (hexBalance != NULL) {
if (setDecimals > 0) {
decimals = setDecimals;
} else {
@ -582,6 +587,9 @@ uint64_t getErc20BalanceSatoshi(char *address, char *tokenAddress, uint8_t setDe
balance /= boost::multiprecision::pow(u256(10), 10);
free(hexBalance);
return static_cast<uint64_t>(balance);
} else {
return 0;
}
}
char *getErc20BalanceHexWei(char *address, char *tokenAddress)

Loading…
Cancel
Save