using System; using System.Threading.Tasks; using Nethereum.Hex.HexTypes; using Nethereum.JsonRpc.Client; using Nethereum.RPC.Eth.DTOs; namespace Nethereum.RPC.Eth.Transactions { /// /// eth_getTransactionByBlockNumberAndIndex /// Returns information about a transaction by block number and transaction index position. /// Parameters /// QUANTITY|TAG - a block number, or the string "earliest", "latest" or "pending", as in the default block parameter. /// QUANTITY - the transaction index position. /// params: [ /// '0x29c', // 668 /// '0x0' // 0 /// ] /// Returns /// Transaction /// Example /// Request /// curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x29c", /// "0x0"],"id":1}' /// Result see eth_getTransactionByHash /// public class EthGetTransactionByBlockNumberAndIndex : RpcRequestResponseHandler, IEthGetTransactionByBlockNumberAndIndex { public EthGetTransactionByBlockNumberAndIndex(IClient client) : base(client, ApiMethods.eth_getTransactionByBlockNumberAndIndex.ToString()) { } public Task SendRequestAsync(HexBigInteger blockNumber, HexBigInteger transactionIndex, object id = null) { if (blockNumber == null) throw new ArgumentNullException(nameof(blockNumber)); if (transactionIndex == null) throw new ArgumentNullException(nameof(transactionIndex)); return base.SendRequestAsync(id, blockNumber, transactionIndex); } public RpcRequest BuildRequest(HexBigInteger blockNumber, HexBigInteger transactionIndex, object id = null) { if (blockNumber == null) throw new ArgumentNullException(nameof(blockNumber)); if (transactionIndex == null) throw new ArgumentNullException(nameof(transactionIndex)); return base.BuildRequest(id, blockNumber, transactionIndex); } } }