diff --git a/src/constants.ts b/src/constants.ts index ef42fc171..22d995f6b 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -274,3 +274,20 @@ export const ZERO_ADDRESS = { ZERO_ADDRESS_42_CHARS: '0x0000000000000000000000000000000000000000', ZERO_ADDRESS_58_CHARS: '0000000000000000000000000000000000000000000000000000000000', } + +export const TRC_20_MIN_ABI = [ + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "View", + "type": "Function" + } +]; diff --git a/src/transaction/tron.ts b/src/transaction/tron.ts index 438b26c1f..129c344d6 100644 --- a/src/transaction/tron.ts +++ b/src/transaction/tron.ts @@ -2,7 +2,7 @@ import { AxiosRequestConfig } from 'axios'; import BigNumber from 'bignumber.js'; import { tronBroadcast } from '../blockchain'; import { axios, validateBody } from '../connector/tatum'; -import { TATUM_API_URL } from '../constants'; +import { TATUM_API_URL, TRC_20_MIN_ABI } from '../constants' import { listing } from '../contracts/marketplace'; import abi from '../contracts/trc20/token_abi'; import bytecode from '../contracts/trc20/token_bytecode'; @@ -324,7 +324,7 @@ export const getTronTrc20ContractDecimals = async (testnet: boolean, contractAdd } const tronWeb = prepareTronWeb(testnet, provider) tronWeb.setAddress(contractAddress) - const contractInstance = await tronWeb.contract().at(contractAddress) + const contractInstance = await tronWeb.contract(TRC_20_MIN_ABI, contractAddress); const decimalsBigNum = await contractInstance.decimals().call() return new BigNumber(decimalsBigNum).toNumber() }