From 5956d110eca1765041269fe1aca3f36a57eaf1c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Jel=C3=ADnek?= Date: Fri, 31 Jan 2025 10:27:08 +0100 Subject: [PATCH 1/2] ALL-9581 - Fix missing decimals function in TRON --- src/constants.ts | 17 +++++++++++++++++ src/transaction/tron.ts | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index ef42fc171d..3495d1909f 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 TRON_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 438b26c1ff..fb4d144b1b 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, TRON_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(TRON_ABI, contractAddress); const decimalsBigNum = await contractInstance.decimals().call() return new BigNumber(decimalsBigNum).toNumber() } From 543ec297bf99936f088d526251aaeb3ed9eb3ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Jel=C3=ADnek?= Date: Fri, 31 Jan 2025 11:20:16 +0100 Subject: [PATCH 2/2] ALL-9581 - Fix missing decimals function in TRON --- src/constants.ts | 2 +- src/transaction/tron.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index 3495d1909f..22d995f6b7 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -275,7 +275,7 @@ export const ZERO_ADDRESS = { ZERO_ADDRESS_58_CHARS: '0000000000000000000000000000000000000000000000000000000000', } -export const TRON_ABI = [ +export const TRC_20_MIN_ABI = [ { "constant": true, "inputs": [], diff --git a/src/transaction/tron.ts b/src/transaction/tron.ts index fb4d144b1b..129c344d67 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, TRON_ABI } 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(TRON_ABI, contractAddress); + const contractInstance = await tronWeb.contract(TRC_20_MIN_ABI, contractAddress); const decimalsBigNum = await contractInstance.decimals().call() return new BigNumber(decimalsBigNum).toNumber() }