14 explicit InvalidTransaction(
const std::string &msg) : runtime_error(
"invalid transaction - " + msg) {}
55 const secret_t &sk,
const std::optional<addr_t> &receiver = std::nullopt, uint64_t chain_id = 0);
79 Json::Value
toJSON()
const;
89uint64_t
IntrinsicGas(
const std::vector<uint8_t> &data,
bool is_contract_creation);
Class for writing to an RLP bytestream.
Definition RLP.h:484
#define HAS_RLP_FIELDS
Definition encoding_rlp.hpp:208
std::shared_ptr< Transaction > SharedTransaction
Definition transaction.hpp:84
std::vector< Transaction > Transactions
Definition transaction.hpp:85
uint64_t IntrinsicGas(const std::vector< uint8_t > &data, bool is_contract_creation)
Definition transaction.cpp:181
std::vector< byte > bytes
Definition types.hpp:53
std::vector< SharedTransaction > SharedTransactions
Definition transaction.hpp:86
val_t trx_nonce_t
Definition types.hpp:54
std::vector< trx_hash_t > TransactionHashes
Definition transaction.hpp:87
TransactionHashes hashes_from_transactions(const SharedTransactions &transactions)
Definition transaction.cpp:23
dev::u256 val_t
Definition types.hpp:48
uint64_t gas_t
Definition types.hpp:46
Definition transaction.hpp:17
InvalidSignature(const std::string &msg)
Definition transaction.hpp:18
Definition transaction.hpp:13
InvalidTransaction(const std::string &msg)
Definition transaction.hpp:14
Definition transaction.hpp:12
trx_hash_t hash_
Definition transaction.hpp:34
Transaction()
Definition transaction.hpp:53
bytes data_
Definition transaction.hpp:30
val_t gas_price_
Definition transaction.hpp:28
bool sender_initialized_
Definition transaction.hpp:38
bool sender_valid_
Definition transaction.hpp:39
bool operator==(Transaction const &other) const
Definition transaction.hpp:75
bool hash_initialized_
Definition transaction.hpp:35
auto getCost() const
Definition transaction.hpp:71
val_t value_
Definition transaction.hpp:27
virtual void fromRLP(const dev::RLP &_rlp, bool verify_strict)
Definition transaction.cpp:71
bytes cached_rlp_
Definition transaction.hpp:43
virtual const addr_t & getSender() const
Definition transaction.cpp:114
auto getNonce() const
Definition transaction.hpp:63
const auto & getGasPrice() const
Definition transaction.hpp:65
uint64_t chain_id_
Definition transaction.hpp:32
std::mutex hash_mu_
Definition transaction.hpp:37
std::mutex cached_rlp_mu_
Definition transaction.hpp:44
const auto & getReceiver() const
Definition transaction.hpp:68
Json::Value toJSON() const
Definition transaction.cpp:155
bool intrinsicGasCovered() const
Definition transaction.cpp:208
addr_t const & get_sender_() const
Definition transaction.cpp:102
const auto & getData() const
Definition transaction.hpp:67
virtual void streamRLP(dev::RLPStream &s, bool for_signature) const
Definition transaction.cpp:122
auto getGas() const
Definition transaction.hpp:66
auto getChainID() const
Definition transaction.hpp:69
addr_t sender_
Definition transaction.hpp:40
virtual ~Transaction()=default
const bytes & rlp() const
Definition transaction.cpp:138
std::optional< addr_t > receiver_
Definition transaction.hpp:31
auto isZero() const
Definition transaction.hpp:61
std::mutex sender_mu_
Definition transaction.hpp:41
const trx_hash_t & getHash() const
Definition transaction.cpp:93
gas_t gas_
Definition transaction.hpp:29
bool is_zero_
Definition transaction.hpp:36
bool cached_rlp_set_
Definition transaction.hpp:42
const auto & getValue() const
Definition transaction.hpp:64
trx_nonce_t nonce_
Definition transaction.hpp:26
trx_hash_t hash_for_signature() const
Definition transaction.cpp:149
dev::SignatureStruct vrs_
Definition transaction.hpp:33
const auto & getVRS() const
Definition transaction.hpp:70