Monero
Loading...
Searching...
No Matches
hw::trezor::protocol::tx::Signer Class Reference

#include <protocol.hpp>

Collaboration diagram for hw::trezor::protocol::tx::Signer:

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::monero::MoneroTransactionInitRequest > step_init ()
void step_init_ack (std::shared_ptr< const messages::monero::MoneroTransactionInitAck > ack)
std::shared_ptr< messages::monero::MoneroTransactionSetInputRequest > step_set_input (size_t idx)
void step_set_input_ack (std::shared_ptr< const messages::monero::MoneroTransactionSetInputAck > ack)
void sort_ki ()
std::shared_ptr< messages::monero::MoneroTransactionInputViniRequest > step_set_vini_input (size_t idx)
void step_set_vini_input_ack (std::shared_ptr< const messages::monero::MoneroTransactionInputViniAck > ack)
std::shared_ptr< messages::monero::MoneroTransactionAllInputsSetRequest > step_all_inputs_set ()
void step_all_inputs_set_ack (std::shared_ptr< const messages::monero::MoneroTransactionAllInputsSetAck > ack)
std::shared_ptr< messages::monero::MoneroTransactionSetOutputRequest > step_set_output (size_t idx)
void step_set_output_ack (std::shared_ptr< const messages::monero::MoneroTransactionSetOutputAck > ack)
std::shared_ptr< messages::monero::MoneroTransactionSetOutputRequest > step_rsig (size_t idx)
void step_set_rsig_ack (std::shared_ptr< const messages::monero::MoneroTransactionSetOutputAck > ack)
std::shared_ptr< messages::monero::MoneroTransactionAllOutSetRequest > step_all_outs_set ()
void step_all_outs_set_ack (std::shared_ptr< const messages::monero::MoneroTransactionAllOutSetAck > ack, hw::device &hwdev)
std::shared_ptr< messages::monero::MoneroTransactionSignInputRequest > step_sign_input (size_t idx)
void step_sign_input_ack (std::shared_ptr< const messages::monero::MoneroTransactionSignInputAck > ack)
std::shared_ptr< messages::monero::MoneroTransactionFinalRequest > step_final ()
void step_final_ack (std::shared_ptr< const messages::monero::MoneroTransactionFinalAck > ack)
std::string store_tx_aux_info ()
unsigned client_version () const
uint8_t get_rv_type () const
bool is_simple () const
bool is_req_bulletproof () const
bool is_req_clsag () const
bool is_req_bulletproof_plus () const
bool is_bulletproof () const
bool is_bulletproof_plus () const
bool is_clsag () 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_src_tx () const
const tx_construction_datacur_tx () const
const tools::wallet2::transfer_detailsget_transfer (size_t idx) const
const tools::wallet2::transfer_detailsget_source_transfer (size_t idx) const
void extract_payment_id ()
void compute_integrated_indices (TsxData *tsx_data)
bool should_compute_bp_now () const
void compute_bproof (messages::monero::MoneroTransactionRsigData &rsig_data)
void process_bproof (rsig_v &bproof)
void set_tx_input (MoneroTransactionSourceEntry *dst, size_t idx, bool need_ring_keys=false, bool need_ring_indices=false)

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::monero::MoneroTransactionRsigData & rsig_data)
private

◆ compute_integrated_indices()

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

◆ cur_src_tx()

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

◆ cur_tx()

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

◆ extract_payment_id()

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

◆ get_rv_type()

uint8_t hw::trezor::protocol::tx::Signer::get_rv_type ( ) const
inline

◆ get_source_transfer()

const tools::wallet2::transfer_details & hw::trezor::protocol::tx::Signer::get_source_transfer ( size_t idx) const
inlineprivate

◆ get_transfer()

const tools::wallet2::transfer_details & hw::trezor::protocol::tx::Signer::get_transfer ( size_t idx) const
inlineprivate

◆ is_bulletproof()

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

◆ is_bulletproof_plus()

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

◆ is_clsag()

bool hw::trezor::protocol::tx::Signer::is_clsag ( ) 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_req_bulletproof_plus()

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

◆ is_req_clsag()

bool hw::trezor::protocol::tx::Signer::is_req_clsag ( ) 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 ( rsig_v & bproof)
private

◆ set_tx_input()

void hw::trezor::protocol::tx::Signer::set_tx_input ( MoneroTransactionSourceEntry * dst,
size_t idx,
bool need_ring_keys = false,
bool need_ring_indices = false )
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::monero::MoneroTransactionAllInputsSetRequest > 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::monero::MoneroTransactionAllInputsSetAck > ack)

◆ step_all_outs_set()

std::shared_ptr< messages::monero::MoneroTransactionAllOutSetRequest > 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::monero::MoneroTransactionAllOutSetAck > ack,
hw::device & hwdev )

◆ step_final()

std::shared_ptr< messages::monero::MoneroTransactionFinalRequest > hw::trezor::protocol::tx::Signer::step_final ( )

◆ step_final_ack()

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

◆ step_init()

std::shared_ptr< messages::monero::MoneroTransactionInitRequest > hw::trezor::protocol::tx::Signer::step_init ( )

◆ step_init_ack()

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

◆ step_rsig()

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

◆ step_set_input()

std::shared_ptr< messages::monero::MoneroTransactionSetInputRequest > 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::monero::MoneroTransactionSetInputAck > ack)

◆ step_set_output()

std::shared_ptr< messages::monero::MoneroTransactionSetOutputRequest > 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::monero::MoneroTransactionSetOutputAck > ack)

◆ step_set_rsig_ack()

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

◆ step_set_vini_input()

std::shared_ptr< messages::monero::MoneroTransactionInputViniRequest > 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::monero::MoneroTransactionInputViniAck > ack)

◆ step_sign_input()

std::shared_ptr< messages::monero::MoneroTransactionSignInputRequest > 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::monero::MoneroTransactionSignInputAck > 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: