TARAXA
system_transaction.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace taraxa {
6 struct SystemTransaction : public Transaction {
7  SystemTransaction(const trx_nonce_t &nonce, const val_t &value, const val_t &gas_price, gas_t gas, bytes data,
8  const std::optional<addr_t> &receiver = std::nullopt, uint64_t chain_id = 0);
9 
10  explicit SystemTransaction(const dev::RLP &_rlp, bool verify_strict = false, const h256 &hash = {});
11  explicit SystemTransaction(const bytes &_rlp, bool verify_strict = false, const h256 &hash = {});
12 
13  virtual const addr_t &getSender() const override;
14  virtual void streamRLP(dev::RLPStream &s, bool for_signature) const override;
15  virtual void fromRLP(const dev::RLP &_rlp, bool verify_strict, const h256 &hash) override;
16 };
17 
18 } // namespace taraxa
Definition: RLP.h:56
Class for writing to an RLP bytestream.
Definition: RLP.h:484
std::vector<::byte > bytes
Definition: Common.h:46
Definition: config.hpp:8
val_t trx_nonce_t
Definition: types.hpp:54
dev::u256 val_t
Definition: types.hpp:47
uint64_t gas_t
Definition: types.hpp:45
Definition: system_transaction.hpp:6
virtual void streamRLP(dev::RLPStream &s, bool for_signature) const override
Definition: system_transaction.cpp:43
SystemTransaction(const trx_nonce_t &nonce, const val_t &value, const val_t &gas_price, gas_t gas, bytes data, const std::optional< addr_t > &receiver=std::nullopt, uint64_t chain_id=0)
Definition: system_transaction.cpp:7
virtual void fromRLP(const dev::RLP &_rlp, bool verify_strict, const h256 &hash) override
Definition: system_transaction.cpp:56
virtual const addr_t & getSender() const override
Definition: system_transaction.cpp:41
Definition: transaction.hpp:11