using Nethereum.RPC.Eth.DTOs; using System.Collections.Generic; using System.Numerics; namespace Nethereum.Contracts.CQS { /// /// Base class used for the messages and descriptions of Deployments and Functions (Queries, Transactions) /// public abstract class ContractMessageBase { /// /// The Ether Amount to Send to the contract in Wei /// /// /// The smart contract function will need to mark as payable in latest versions of solidity /// public BigInteger AmountToSend { get; set; } /// /// The Maximum Gas to use for the transaction /// public BigInteger? Gas { get; set; } /// /// The Gas price per unit of Gas, only used in Legacy transactions /// public BigInteger? GasPrice { get; set; } /// /// The address of the sender /// public string FromAddress { get; set; } /// /// The unique number for the contract message transaction /// /// /// Nonces are ordered based on the number of transactions from an specific account, /// so the next nonce for the next transaction will be the total number of transactions for that account /// public BigInteger? Nonce { get; set; } /// /// Max Fee Per Gas provided by the sender in Wei. Introduced in EIP 1559 /// public BigInteger? MaxFeePerGas { get; set; } /// /// Max Priority Fee Per Gas provided by the sender in Wei. Introduced in EIP 1559 /// public BigInteger? MaxPriorityFeePerGas { get; set; } /// /// The transaction type, null for legacy, 0x02 for EIP 1559 /// public byte? TransactionType { get; set; } /// /// The transaction type, null for legacy, 0x02 for EIP 1559 /// public List AccessList { get; set; } } }