Невозможно получить читаемое целое число из декодированных входных данных nethereum - PullRequest
0 голосов
/ 22 марта 2019

У меня проблемы с преобразованием uint256 из Solidity в читаемый объект c #.

public Transaction DecodeInputData(Transaction tx)
    {

        EthApiContractService ethApi = new EthApiContractService(null);
        var contract = ethApi.GetContract(Abi.Replace(@"\", string.Empty), Address);

        var transfer = contract.GetFunction("transfer");
        var decodedTx = transfer.DecodeInput(tx.input);

        tx.to = (string)decodedTx[0].Result;
        tx.value = "0x" + ((BigInteger)decodedTx[1].Result).ToString("x");

        return tx;
    }

Пример Tx: https://etherscan.io/tx/0x622760ad1a0ead8d16641d5888b8c36cb67be5369556f8887499f4ad3e3d1c3d

Мы должны иметь возможность преобразовать переменную decodedTx [1] .Result (ее: {53809663494440740791636285293469688360281260987263635605451211260198698423701}) в 83218945020000000000.

Мы конвертируем это значение в гекс для совместимости. Но гекс, который я получаю, это; "0x76f730b400000000000000000000000000000000000000000000000482e51595"

Я использую библиотеку Nethereum с ядром .net 2.1

...