fix: USDT web3 calls
This commit is contained in:
parent
f25ff92e25
commit
b931f45df9
1 changed files with 7 additions and 5 deletions
|
|
@ -79,14 +79,16 @@ function balance (account, cryptoCode, settings, operatorId) {
|
||||||
|
|
||||||
const pendingBalance = (address, cryptoCode) => {
|
const pendingBalance = (address, cryptoCode) => {
|
||||||
const promises = [_balance(true, address, cryptoCode), _balance(false, address, cryptoCode)]
|
const promises = [_balance(true, address, cryptoCode), _balance(false, address, cryptoCode)]
|
||||||
return Promise.all(promises).then(([pending, confirmed]) => pending.minus(confirmed))
|
return Promise.all(promises).then(([pending, confirmed]) => BN(pending).minus(confirmed))
|
||||||
}
|
}
|
||||||
const confirmedBalance = (address, cryptoCode) => _balance(false, address, cryptoCode)
|
const confirmedBalance = (address, cryptoCode) => _balance(false, address, cryptoCode)
|
||||||
|
|
||||||
function _balance (includePending, address, cryptoCode) {
|
function _balance (includePending, address, cryptoCode) {
|
||||||
if (coins.utils.isErc20Token(cryptoCode)) {
|
if (coins.utils.isErc20Token(cryptoCode)) {
|
||||||
const contract = web3.eth.contract(ABI.ERC20).at(coins.utils.getErc20Token(cryptoCode).contractAddress)
|
const contract = new web3.eth.Contract(ABI.ERC20, coins.utils.getErc20Token(cryptoCode).contractAddress)
|
||||||
return contract.balanceOf(address.toLowerCase())
|
return contract.methods.balanceOf(address.toLowerCase()).call((_, balance) => {
|
||||||
|
return contract.methods.decimals().call((_, decimals) => BN(balance).div(10 ** decimals))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const block = includePending ? 'pending' : undefined
|
const block = includePending ? 'pending' : undefined
|
||||||
return pify(web3.eth.getBalance)(address.toLowerCase(), block)
|
return pify(web3.eth.getBalance)(address.toLowerCase(), block)
|
||||||
|
|
@ -102,8 +104,8 @@ function generateTx (_toAddress, wallet, amount, includesFee, cryptoCode) {
|
||||||
|
|
||||||
let contract, contractData
|
let contract, contractData
|
||||||
if (isErc20Token) {
|
if (isErc20Token) {
|
||||||
contract = web3.eth.contract(ABI.ERC20).at(toAddress)
|
contract = new web3.eth.Contract(ABI.ERC20, toAddress)
|
||||||
contractData = isErc20Token && contract.transfer.getData(_toAddress.toLowerCase(), hex(toSend))
|
contractData = isErc20Token && contract.methods.transfer(_toAddress.toLowerCase(), hex(toSend)).encodeABI()
|
||||||
}
|
}
|
||||||
|
|
||||||
const txTemplate = {
|
const txTemplate = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue