Ответ возвращает "null" при попытке перевода токенов BEP20?

Рейтинг: 0Ответов: 0Опубликовано: 25.06.2023

Посмотрите, пожалуйста, возможно увидите в чём у нас ошибка. Запрос на перевод любой не нативной валюты в BEP20 (ERC20), по итогу ничего не переводится и возвращает null

Возможно неверно посчитан газ, если есть где-то похожие методы, посмотрите значения, сверьте. Может быть, у меня просто глаза уже поплыли за прошедшую субботу...

fun transfer(
    privateKey: ByteArray,
    tokenAddress: String,
    toAddress: String,
    amount: BigInteger,
    block: DefaultBlockParameterName = DefaultBlockParameterName.LATEST
): String {
    val credentials = Credentials.create(Numeric.toHexString(privateKey))
    val gasFactor = 1.0.toBigDecimal()
    val gasPrice = (gasPrice().toBigDecimal() * gasFactor).toBigInteger()
    val gas = 21000.toBigInteger()
    val fee = gas * gasPrice


    val function = Function("transfer", listOf<Type<*>>(Address(toAddress), Uint256(amount)), emptyList())

    val rawTransaction = RawTransaction.createTransaction(
        null, gasPrice, fee, tokenAddress,
        BigInteger.ZERO, FunctionEncoder.encode(function)
    )

    val hexValue = Numeric.toHexString(TransactionEncoder.signMessage(rawTransaction, credentials))

    val response = web3j.ethSendRawTransaction(hexValue).send()
    println(response.result)
    return response.result
}

Ответы

Ответов пока нет.