Electroneum
Public Member Functions | Private Member Functions | Private Attributes | List of all members
hw::trezor::protocol::tx::Signer Class Reference

#include <protocol.hpp>

Collaboration diagram for hw::trezor::protocol::tx::Signer:
Collaboration graph
[legend]

Public Member Functions

 Signer (wallet_shim *wallet2, const unsigned_tx_set *unsigned_tx, size_t tx_idx=0, hw::tx_aux_data *aux_data=nullptr)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionInitRequest > step_init ()
 
void step_init_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionInitAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionSetInputRequest > step_set_input (size_t idx)
 
void step_set_input_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionSetInputAck > ack)
 
void sort_ki ()
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionInputsPermutationRequest > step_permutation ()
 
void step_permutation_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionInputsPermutationAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionInputViniRequest > step_set_vini_input (size_t idx)
 
void step_set_vini_input_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionInputViniAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionAllInputsSetRequest > step_all_inputs_set ()
 
void step_all_inputs_set_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionAllInputsSetAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionSetOutputRequest > step_set_output (size_t idx)
 
void step_set_output_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionSetOutputAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionSetOutputRequest > step_rsig (size_t idx)
 
void step_set_rsig_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionSetOutputAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionAllOutSetRequest > step_all_outs_set ()
 
void step_all_outs_set_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionAllOutSetAck > ack, hw::device &hwdev)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionSignInputRequest > step_sign_input (size_t idx)
 
void step_sign_input_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionSignInputAck > ack)
 
std::shared_ptr< messages::electroneum::ElectroneumTransactionFinalRequest > step_final ()
 
void step_final_ack (std::shared_ptr< const messages::electroneum::ElectroneumTransactionFinalAck > ack)
 
std::string store_tx_aux_info ()
 
unsigned client_version () const
 
bool is_simple () const
 
bool is_req_bulletproof () const
 
bool is_bulletproof () const
 
bool is_offloading () const
 
size_t num_outputs () const
 
size_t num_inputs () const
 
const TDatatdata () const
 

Private Member Functions

const tx_construction_datacur_tx ()
 
void extract_payment_id ()
 
void compute_integrated_indices (TsxData *tsx_data)
 
bool should_compute_bp_now () const
 
void compute_bproof (messages::electroneum::ElectroneumTransactionRsigData &rsig_data)
 
void process_bproof (rct::Bulletproof &bproof)
 

Private Attributes

TData m_ct
 
wallet_shimm_wallet2
 
size_t m_tx_idx
 
const unsigned_tx_setm_unsigned_tx
 
hw::tx_aux_datam_aux_data
 
unsigned m_client_version
 
bool m_multisig
 

Constructor & Destructor Documentation

◆ Signer()

hw::trezor::protocol::tx::Signer::Signer ( wallet_shim wallet2,
const unsigned_tx_set unsigned_tx,
size_t  tx_idx = 0,
hw::tx_aux_data aux_data = nullptr 
)

Member Function Documentation

◆ client_version()

unsigned hw::trezor::protocol::tx::Signer::client_version ( ) const
inline

◆ compute_bproof()

void hw::trezor::protocol::tx::Signer::compute_bproof ( messages::electroneum::ElectroneumTransactionRsigData &  rsig_data)
private

◆ compute_integrated_indices()

void hw::trezor::protocol::tx::Signer::compute_integrated_indices ( TsxData tsx_data)
private

◆ cur_tx()

const tx_construction_data& hw::trezor::protocol::tx::Signer::cur_tx ( )
inlineprivate

◆ extract_payment_id()

void hw::trezor::protocol::tx::Signer::extract_payment_id ( )
private

◆ is_bulletproof()

bool hw::trezor::protocol::tx::Signer::is_bulletproof ( ) const
inline

◆ is_offloading()

bool hw::trezor::protocol::tx::Signer::is_offloading ( ) const
inline

◆ is_req_bulletproof()

bool hw::trezor::protocol::tx::Signer::is_req_bulletproof ( ) const
inline

◆ is_simple()

bool hw::trezor::protocol::tx::Signer::is_simple ( ) const
inline

◆ num_inputs()

size_t hw::trezor::protocol::tx::Signer::num_inputs ( ) const
inline

◆ num_outputs()

size_t hw::trezor::protocol::tx::Signer::num_outputs ( ) const
inline

◆ process_bproof()

void hw::trezor::protocol::tx::Signer::process_bproof ( rct::Bulletproof bproof)
private

◆ should_compute_bp_now()

bool hw::trezor::protocol::tx::Signer::should_compute_bp_now ( ) const
private

◆ sort_ki()

void hw::trezor::protocol::tx::Signer::sort_ki ( )

◆ step_all_inputs_set()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionAllInputsSetRequest > hw::trezor::protocol::tx::Signer::step_all_inputs_set ( )

◆ step_all_inputs_set_ack()

void hw::trezor::protocol::tx::Signer::step_all_inputs_set_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionAllInputsSetAck >  ack)

◆ step_all_outs_set()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionAllOutSetRequest > hw::trezor::protocol::tx::Signer::step_all_outs_set ( )

◆ step_all_outs_set_ack()

void hw::trezor::protocol::tx::Signer::step_all_outs_set_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionAllOutSetAck >  ack,
hw::device hwdev 
)

◆ step_final()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionFinalRequest > hw::trezor::protocol::tx::Signer::step_final ( )

◆ step_final_ack()

void hw::trezor::protocol::tx::Signer::step_final_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionFinalAck >  ack)

◆ step_init()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionInitRequest > hw::trezor::protocol::tx::Signer::step_init ( )

◆ step_init_ack()

void hw::trezor::protocol::tx::Signer::step_init_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionInitAck >  ack)

◆ step_permutation()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionInputsPermutationRequest > hw::trezor::protocol::tx::Signer::step_permutation ( )

◆ step_permutation_ack()

void hw::trezor::protocol::tx::Signer::step_permutation_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionInputsPermutationAck >  ack)

◆ step_rsig()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionSetOutputRequest > hw::trezor::protocol::tx::Signer::step_rsig ( size_t  idx)

◆ step_set_input()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionSetInputRequest > hw::trezor::protocol::tx::Signer::step_set_input ( size_t  idx)

◆ step_set_input_ack()

void hw::trezor::protocol::tx::Signer::step_set_input_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionSetInputAck >  ack)

◆ step_set_output()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionSetOutputRequest > hw::trezor::protocol::tx::Signer::step_set_output ( size_t  idx)

◆ step_set_output_ack()

void hw::trezor::protocol::tx::Signer::step_set_output_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionSetOutputAck >  ack)

◆ step_set_rsig_ack()

void hw::trezor::protocol::tx::Signer::step_set_rsig_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionSetOutputAck >  ack)

◆ step_set_vini_input()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionInputViniRequest > hw::trezor::protocol::tx::Signer::step_set_vini_input ( size_t  idx)

◆ step_set_vini_input_ack()

void hw::trezor::protocol::tx::Signer::step_set_vini_input_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionInputViniAck >  ack)

◆ step_sign_input()

std::shared_ptr< messages::Electroneum::ElectroneumTransactionSignInputRequest > hw::trezor::protocol::tx::Signer::step_sign_input ( size_t  idx)

◆ step_sign_input_ack()

void hw::trezor::protocol::tx::Signer::step_sign_input_ack ( std::shared_ptr< const messages::electroneum::ElectroneumTransactionSignInputAck >  ack)

◆ store_tx_aux_info()

std::string hw::trezor::protocol::tx::Signer::store_tx_aux_info ( )

◆ tdata()

const TData& hw::trezor::protocol::tx::Signer::tdata ( ) const
inline

Member Data Documentation

◆ m_aux_data

hw::tx_aux_data* hw::trezor::protocol::tx::Signer::m_aux_data
private

◆ m_client_version

unsigned hw::trezor::protocol::tx::Signer::m_client_version
private

◆ m_ct

TData hw::trezor::protocol::tx::Signer::m_ct
private

◆ m_multisig

bool hw::trezor::protocol::tx::Signer::m_multisig
private

◆ m_tx_idx

size_t hw::trezor::protocol::tx::Signer::m_tx_idx
private

◆ m_unsigned_tx

const unsigned_tx_set* hw::trezor::protocol::tx::Signer::m_unsigned_tx
private

◆ m_wallet2

wallet_shim* hw::trezor::protocol::tx::Signer::m_wallet2
private

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