diff --git a/lib/plugins/wallet/geth/base.js b/lib/plugins/wallet/geth/base.js index 332d4f71..c5b8e1dc 100644 --- a/lib/plugins/wallet/geth/base.js +++ b/lib/plugins/wallet/geth/base.js @@ -101,6 +101,7 @@ function generateTx (_toAddress, wallet, amount, includesFee, cryptoCode) { const isErc20Token = coins.utils.isErc20Token(cryptoCode) const toAddress = isErc20Token ? coins.utils.getErc20Token(cryptoCode).contractAddress : _toAddress.toLowerCase() + const contractData = isErc20Token && contract.transfer.getData(_toAddress.toLowerCase(), hex(toSend)) const txTemplate = { from: fromAddress, @@ -108,6 +109,8 @@ function generateTx (_toAddress, wallet, amount, includesFee, cryptoCode) { value: amount.toString() } + if (isErc20Token) txTemplate.data = contractData + const promises = [ pify(web3.eth.estimateGas)(txTemplate), pify(web3.eth.getGasPrice)(), @@ -140,7 +143,7 @@ function generateTx (_toAddress, wallet, amount, includesFee, cryptoCode) { if (isErc20Token) { const contract = web3.eth.contract(ABI.ERC20).at(toAddress) if (contract) - rawTx.data = contract.transfer.getData(toAddress, hex(toSend)) + rawTx.data = contractData } const tx = new Tx(rawTx)