using System.Collections.Generic;
using System.Runtime.Serialization;
using Nethereum.Hex.HexTypes;
namespace Nethereum.RPC.Eth.DTOs
{
[DataContract]
public class Transaction
{
///
/// DATA, 32 Bytes - hash of the transaction.
///
[DataMember(Name = "hash")]
public string TransactionHash { get; set; }
///
/// QUANTITY - integer of the transactions index position in the block. null when its pending.
///
[DataMember(Name = "transactionIndex")]
public HexBigInteger TransactionIndex { get; set; }
///
/// QUANTITY - The transaction type.
///
[DataMember(Name = "type")]
public HexBigInteger Type { get; set; }
///
/// DATA, 32 Bytes - hash of the block where this transaction was in. null when its pending.
[DataMember(Name = "blockHash")]
public string BlockHash { get; set; }
///
/// QUANTITY - block number where this transaction was in. null when its pending.
///
[DataMember(Name = "blockNumber")]
public HexBigInteger BlockNumber { get; set; }
///
/// DATA, 20 Bytes - The address the transaction is send from.
///
[DataMember(Name = "from")]
public string From { get; set; }
///
/// DATA, 20 Bytes - address of the receiver. null when its a contract creation transaction.
///
[DataMember(Name = "to")]
public string To { get; set; }
///
/// QUANTITY - gas provided by the sender.
///
[DataMember(Name = "gas")]
public HexBigInteger Gas { get; set; }
///
/// QUANTITY - gas price provided by the sender in Wei.
///
[DataMember(Name = "gasPrice")]
public HexBigInteger GasPrice { get; set; }
///
/// QUANTITY - Max Fee Per Gas provided by the sender in Wei.
///
[DataMember(Name = "maxFeePerGas")]
public HexBigInteger MaxFeePerGas { get; set; }
///
/// QUANTITY - Max Priority Fee Per Gas provided by the sender in Wei.
///
[DataMember(Name = "maxPriorityFeePerGas")]
public HexBigInteger MaxPriorityFeePerGas { get; set; }
///
/// QUANTITY - value transferred in Wei.
///
[DataMember(Name = "value")]
public HexBigInteger Value { get; set; }
///
/// DATA - the data send along with the transaction.
///
[DataMember(Name = "input")]
public string Input { get; set; }
///
/// QUANTITY - the number of transactions made by the sender prior to this one.
///
[DataMember(Name = "nonce")]
public HexBigInteger Nonce { get; set; }
///
/// QUANTITY - r signature.
///
[DataMember(Name = "r")]
public string R { get; set; }
///
/// QUANTITY - s signature.
///
[DataMember(Name = "s")]
public string S { get; set; }
///
/// QUANTITY - v signature.
///
[DataMember(Name = "v")]
public string V { get; set; }
///
/// Access list
///
[DataMember(Name = "accessList")]
public List AccessList { get; set; }
}
}