Merge pull request #1232 from chaotixkilla/fix-usdt-web3js-version-bump

Fix USDT calls to web3js 1.0+ standards
This commit is contained in:
Rafael Taranto 2022-05-23 09:39:58 +01:00 committed by GitHub
commit 658131eb2a

View file

@ -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 = {