Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | List of all members
dev::eth::Transaction Class Reference

Encodes a transaction, ready to be exported to or freshly imported from RLP. More...

#include <Transaction.h>

Inheritance diagram for dev::eth::Transaction:
[legend]
Collaboration diagram for dev::eth::Transaction:
[legend]

Public Member Functions

 Transaction ()
 Constructs a null transaction. More...
 
 Transaction (TransactionSkeleton const &_ts, Secret const &_s=Secret())
 Constructs from a transaction skeleton & optional secret. More...
 
 Transaction (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, Address const &_dest, bytes const &_data, u256 const &_nonce, Secret const &_secret)
 Constructs a signed message-call transaction. More...
 
 Transaction (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, bytes const &_data, u256 const &_nonce, Secret const &_secret)
 Constructs a signed contract-creation transaction. More...
 
 Transaction (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, Address const &_dest, bytes const &_data, u256 const &_nonce=Invalid256)
 Constructs an unsigned message-call transaction. More...
 
 Transaction (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, bytes const &_data, u256 const &_nonce=Invalid256)
 Constructs an unsigned contract-creation transaction. More...
 
 Transaction (bytesConstRef _rlp, CheckTransaction _checkSig)
 Constructs a transaction from the given RLP. More...
 
 Transaction (bytes const &_rlp, CheckTransaction _checkSig)
 Constructs a transaction from the given RLP. More...
 
- Public Member Functions inherited from dev::eth::TransactionBase
 TransactionBase ()
 Constructs a null transaction. More...
 
 TransactionBase (TransactionSkeleton const &_ts, Secret const &_s=Secret())
 Constructs a transaction from a transaction skeleton & optional secret. More...
 
 TransactionBase (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, Address const &_dest, bytes const &_data, u256 const &_nonce, Secret const &_secret)
 Constructs a signed message-call transaction. More...
 
 TransactionBase (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, bytes const &_data, u256 const &_nonce, Secret const &_secret)
 Constructs a signed contract-creation transaction. More...
 
 TransactionBase (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, Address const &_dest, bytes const &_data, u256 const &_nonce=0)
 Constructs an unsigned message-call transaction. More...
 
 TransactionBase (u256 const &_value, u256 const &_gasPrice, u256 const &_gas, bytes const &_data, u256 const &_nonce=0)
 Constructs an unsigned contract-creation transaction. More...
 
 TransactionBase (bytesConstRef _rlp, CheckTransaction _checkSig)
 Constructs a transaction from the given RLP. More...
 
 TransactionBase (bytes const &_rlp, CheckTransaction _checkSig)
 Constructs a transaction from the given RLP. More...
 
bool operator== (TransactionBase const &_c) const
 Checks equality of transactions. More...
 
bool operator!= (TransactionBase const &_c) const
 Checks inequality of transactions. More...
 
Address const & sender () const
 
Address const & safeSender () const noexcept
 Like sender() but will never throw. More...
 
void forceSender (Address const &_a)
 Force the sender to a particular value. This will result in an invalid transaction RLP. More...
 
void checkLowS () const
 
void checkChainId (int chainId=-4) const
 
 operator bool () const
 
bool isCreation () const
 
void streamRLP (RLPStream &_s, IncludeSignature _sig=WithSignature, bool _forEip155hash=false) const
 Serialises this transaction to an RLPStream. More...
 
bytes rlp (IncludeSignature _sig=WithSignature) const
 
h256 sha3 (IncludeSignature _sig=WithSignature) const
 
u256 value () const
 
u256 gasPrice () const
 
u256 gas () const
 
Address receiveAddress () const
 
Address to () const
 Synonym for receiveAddress(). More...
 
Address from () const
 Synonym for safeSender(). More...
 
bytes const & data () const
 
u256 nonce () const
 
void setNonce (u256 const &_n)
 Sets the nonce to the given value. Clears any signature. More...
 
void clearSignature ()
 Clears the signature. More...
 
SignatureStruct const & signature () const
 
void sign (Secret const &_priv)
 Sign the transaction. More...
 
int64_t baseGasRequired (EVMSchedule const &_es) const
 

Additional Inherited Members

- Static Public Member Functions inherited from dev::eth::TransactionBase
static int64_t baseGasRequired (bool _contractCreation, bytesConstRef _data, EVMSchedule const &_es)
 Get the fee associated for a transaction with the given data. More...
 
- Protected Types inherited from dev::eth::TransactionBase
enum  Type { NullTransaction, ContractCreation, MessageCall }
 Type of transaction. More...
 
- Protected Attributes inherited from dev::eth::TransactionBase
Type m_type = NullTransaction
 Is this a contract-creation transaction or a message-call transaction? More...
 
u256 m_nonce
 The transaction-count of the sender. More...
 
u256 m_value
 The amount of ETH to be transferred by this transaction. Called 'endowment' for contract-creation transactions. More...
 
Address m_receiveAddress
 The receiving address of the transaction. More...
 
u256 m_gasPrice
 The base fee and thus the implied exchange rate of ETH to GAS. More...
 
u256 m_gas
 The total gas to convert, paid for from sender's account. Any unused gas gets refunded once the contract is ended. More...
 
bytes m_data
 The data associated with the transaction, or the initialiser if it's a creation transaction. More...
 
SignatureStruct m_vrs
 The signature of the transaction. Encodes the sender. More...
 
int m_chainId = -4
 EIP155 value for calculating transaction hash https://github.com/ethereum/EIPs/issues/155. More...
 
h256 m_hashWith
 Cached hash of transaction with signature. More...
 
Address m_sender
 Cached sender, determined from signature. More...
 

Detailed Description

Encodes a transaction, ready to be exported to or freshly imported from RLP.

Definition at line 84 of file Transaction.h.

Constructor & Destructor Documentation

dev::eth::Transaction::Transaction ( )
inline

Constructs a null transaction.

Definition at line 88 of file Transaction.h.

dev::eth::Transaction::Transaction ( TransactionSkeleton const &  _ts,
Secret const &  _s = Secret() 
)
inline

Constructs from a transaction skeleton & optional secret.

Definition at line 91 of file Transaction.h.

dev::eth::Transaction::Transaction ( u256 const &  _value,
u256 const &  _gasPrice,
u256 const &  _gas,
Address const &  _dest,
bytes const &  _data,
u256 const &  _nonce,
Secret const &  _secret 
)
inline

Constructs a signed message-call transaction.

Definition at line 94 of file Transaction.h.

dev::eth::Transaction::Transaction ( u256 const &  _value,
u256 const &  _gasPrice,
u256 const &  _gas,
bytes const &  _data,
u256 const &  _nonce,
Secret const &  _secret 
)
inline

Constructs a signed contract-creation transaction.

Definition at line 99 of file Transaction.h.

dev::eth::Transaction::Transaction ( u256 const &  _value,
u256 const &  _gasPrice,
u256 const &  _gas,
Address const &  _dest,
bytes const &  _data,
u256 const &  _nonce = Invalid256 
)
inline

Constructs an unsigned message-call transaction.

Definition at line 104 of file Transaction.h.

dev::eth::Transaction::Transaction ( u256 const &  _value,
u256 const &  _gasPrice,
u256 const &  _gas,
bytes const &  _data,
u256 const &  _nonce = Invalid256 
)
inline

Constructs an unsigned contract-creation transaction.

Definition at line 109 of file Transaction.h.

Transaction::Transaction ( bytesConstRef  _rlp,
CheckTransaction  _checkSig 
)
explicit

Constructs a transaction from the given RLP.

Definition at line 101 of file Transaction.cpp.

dev::eth::Transaction::Transaction ( bytes const &  _rlp,
CheckTransaction  _checkSig 
)
inlineexplicit

Constructs a transaction from the given RLP.

Definition at line 117 of file Transaction.h.


The documentation for this class was generated from the following files: