hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
shared_model::proto::TemplateTransactionBuilder< S, SV, BT > Class Template Reference

#include "transaction_template.hpp"

Collaboration diagram for shared_model::proto::TemplateTransactionBuilder< S, SV, BT >:
Collaboration graph

Public Member Functions

 TemplateTransactionBuilder ()
 
auto creatorAccountId (const interface::types::AccountIdType &account_id) const
 
auto batchMeta (interface::types::BatchType type, std::vector< interface::types::HashType > hashes) const
 
auto createdTime (interface::types::TimestampType created_time) const
 
auto quorum (interface::types::QuorumType quorum) const
 
auto addAssetQuantity (const interface::types::AssetIdType &asset_id, const std::string &amount) const
 
auto addPeer (const interface::types::AddressType &address, interface::types::PublicKeyHexStringView peer_key, const std::optional< interface::types::TLSCertificateType > &tls_certificate=std::nullopt) const
 
auto removePeer (interface::types::PublicKeyHexStringView public_key) const
 
auto addSignatory (const interface::types::AccountIdType &account_id, interface::types::PublicKeyHexStringView public_key) const
 
auto removeSignatory (const interface::types::AccountIdType &account_id, interface::types::PublicKeyHexStringView public_key) const
 
auto callEngine (const interface::types::AccountIdType &caller, std::optional< interface::types::EvmCalleeHexStringView > callee, interface::types::EvmCodeHexStringView input) const
 
auto appendRole (const interface::types::AccountIdType &account_id, const interface::types::RoleIdType &role_name) const
 
auto createAsset (const interface::types::AssetNameType &asset_name, const interface::types::DomainIdType &domain_id, interface::types::PrecisionType precision) const
 
auto createAccount (const interface::types::AccountNameType &account_name, const interface::types::DomainIdType &domain_id, interface::types::PublicKeyHexStringView main_pubkey) const
 
auto createDomain (const interface::types::DomainIdType &domain_id, const interface::types::RoleIdType &default_role) const
 
auto createRole (const interface::types::RoleIdType &role_name, const interface::RolePermissionSet &permissions) const
 
auto detachRole (const interface::types::AccountIdType &account_id, const interface::types::RoleIdType &role_name) const
 
auto grantPermission (const interface::types::AccountIdType &account_id, interface::permissions::Grantable permission) const
 
auto revokePermission (const interface::types::AccountIdType &account_id, interface::permissions::Grantable permission) const
 
auto setAccountDetail (const interface::types::AccountIdType &account_id, const interface::types::AccountDetailKeyType &key, const interface::types::AccountDetailValueType &value) const
 
auto setAccountQuorum (const interface::types::AddressType &account_id, interface::types::QuorumType quorum) const
 
auto subtractAssetQuantity (const interface::types::AssetIdType &asset_id, const std::string &amount) const
 
auto transferAsset (const interface::types::AccountIdType &src_account_id, const interface::types::AccountIdType &dest_account_id, const interface::types::AssetIdType &asset_id, const interface::types::DescriptionType &description, const std::string &amount) const
 
auto setSettingValue (const interface::types::SettingKeyType &key, const interface::types::SettingValueType &value) const
 
auto build () const
 

Static Public Attributes

static const int total = RequiredFields::TOTAL
 

Friends

template<int , typename , typename >
class TemplateTransactionBuilder
 

Detailed Description

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
class shared_model::proto::TemplateTransactionBuilder< S, SV, BT >

Template tx builder for creating new types of transaction builders by means of replacing template parameters

Template Parameters
S– field counter for checking that all required fields are set
SV– stateless validator called when build method is invoked
BT– build type of built object returned by build method

Constructor & Destructor Documentation

◆ TemplateTransactionBuilder()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::TemplateTransactionBuilder ( )
inline

Member Function Documentation

◆ addAssetQuantity()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::addAssetQuantity ( const interface::types::AssetIdType asset_id,
const std::string &  amount 
) const
inline

◆ addPeer()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::addPeer ( const interface::types::AddressType address,
interface::types::PublicKeyHexStringView  peer_key,
const std::optional< interface::types::TLSCertificateType > &  tls_certificate = std::nullopt 
) const
inline

◆ addSignatory()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::addSignatory ( const interface::types::AccountIdType account_id,
interface::types::PublicKeyHexStringView  public_key 
) const
inline

◆ appendRole()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::appendRole ( const interface::types::AccountIdType account_id,
const interface::types::RoleIdType role_name 
) const
inline

◆ batchMeta()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::batchMeta ( interface::types::BatchType  type,
std::vector< interface::types::HashType hashes 
) const
inline
Here is the call graph for this function:

◆ build()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::build ( ) const
inline

◆ callEngine()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::callEngine ( const interface::types::AccountIdType caller,
std::optional< interface::types::EvmCalleeHexStringView >  callee,
interface::types::EvmCodeHexStringView  input 
) const
inline

◆ createAccount()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::createAccount ( const interface::types::AccountNameType account_name,
const interface::types::DomainIdType domain_id,
interface::types::PublicKeyHexStringView  main_pubkey 
) const
inline

◆ createAsset()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::createAsset ( const interface::types::AssetNameType asset_name,
const interface::types::DomainIdType domain_id,
interface::types::PrecisionType  precision 
) const
inline

◆ createDomain()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::createDomain ( const interface::types::DomainIdType domain_id,
const interface::types::RoleIdType default_role 
) const
inline

◆ createdTime()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::createdTime ( interface::types::TimestampType  created_time) const
inline

◆ createRole()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::createRole ( const interface::types::RoleIdType role_name,
const interface::RolePermissionSet permissions 
) const
inline
Here is the call graph for this function:

◆ creatorAccountId()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::creatorAccountId ( const interface::types::AccountIdType account_id) const
inline

◆ detachRole()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::detachRole ( const interface::types::AccountIdType account_id,
const interface::types::RoleIdType role_name 
) const
inline

◆ grantPermission()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::grantPermission ( const interface::types::AccountIdType account_id,
interface::permissions::Grantable  permission 
) const
inline
Here is the call graph for this function:

◆ quorum()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::quorum ( interface::types::QuorumType  quorum) const
inline

◆ removePeer()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::removePeer ( interface::types::PublicKeyHexStringView  public_key) const
inline

◆ removeSignatory()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::removeSignatory ( const interface::types::AccountIdType account_id,
interface::types::PublicKeyHexStringView  public_key 
) const
inline

◆ revokePermission()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::revokePermission ( const interface::types::AccountIdType account_id,
interface::permissions::Grantable  permission 
) const
inline
Here is the call graph for this function:

◆ setAccountDetail()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::setAccountDetail ( const interface::types::AccountIdType account_id,
const interface::types::AccountDetailKeyType key,
const interface::types::AccountDetailValueType value 
) const
inline

◆ setAccountQuorum()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::setAccountQuorum ( const interface::types::AddressType account_id,
interface::types::QuorumType  quorum 
) const
inline

◆ setSettingValue()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::setSettingValue ( const interface::types::SettingKeyType key,
const interface::types::SettingValueType value 
) const
inline

◆ subtractAssetQuantity()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::subtractAssetQuantity ( const interface::types::AssetIdType asset_id,
const std::string &  amount 
) const
inline

◆ transferAsset()

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
auto shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::transferAsset ( const interface::types::AccountIdType src_account_id,
const interface::types::AccountIdType dest_account_id,
const interface::types::AssetIdType asset_id,
const interface::types::DescriptionType description,
const std::string &  amount 
) const
inline

Friends And Related Function Documentation

◆ TemplateTransactionBuilder

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
template<int , typename , typename >
friend class TemplateTransactionBuilder
friend

Member Data Documentation

◆ total

template<int S = 0, typename SV = validation::DefaultUnsignedTransactionValidator, typename BT = UnsignedWrapper<Transaction>>
const int shared_model::proto::TemplateTransactionBuilder< S, SV, BT >::total = RequiredFields::TOTAL
static

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