Monero
Loading...
Searching...
No Matches
protocol.hpp File Reference
#include "trezor_defs.hpp"
#include "device/device_cold.hpp"
#include "messages_map.hpp"
#include "transport.hpp"
#include "wallet/wallet2.h"
Include dependency graph for protocol.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  hw::trezor::protocol::tx::TData
class  hw::trezor::protocol::tx::Signer

Namespaces

namespace  hw
namespace  hw::trezor
namespace  hw::trezor::protocol
namespace  hw::trezor::protocol::crypto
namespace  hw::trezor::protocol::crypto::chacha
namespace  hw::trezor::protocol::ki
namespace  hw::trezor::protocol::tx

Typedefs

using hw::trezor::protocol::ki::MoneroTransferDetails = messages::monero::MoneroKeyImageSyncStepRequest_MoneroTransferDetails
using hw::trezor::protocol::ki::MoneroSubAddressIndicesList = messages::monero::MoneroKeyImageExportInitRequest_MoneroSubAddressIndicesList
using hw::trezor::protocol::ki::MoneroExportedKeyImage = messages::monero::MoneroKeyImageSyncStepAck_MoneroExportedKeyImage
using hw::trezor::protocol::ki::exported_key_image = hw::device_cold::exported_key_image
using hw::trezor::protocol::tx::TsxData = messages::monero::MoneroTransactionInitRequest_MoneroTransactionData
using hw::trezor::protocol::tx::MoneroTransactionDestinationEntry = messages::monero::MoneroTransactionDestinationEntry
using hw::trezor::protocol::tx::MoneroAccountPublicAddress = messages::monero::MoneroTransactionDestinationEntry_MoneroAccountPublicAddress
using hw::trezor::protocol::tx::MoneroTransactionSourceEntry = messages::monero::MoneroTransactionSourceEntry
using hw::trezor::protocol::tx::MoneroMultisigKLRki = messages::monero::MoneroTransactionSourceEntry_MoneroMultisigKLRki
using hw::trezor::protocol::tx::MoneroOutputEntry = messages::monero::MoneroTransactionSourceEntry_MoneroOutputEntry
using hw::trezor::protocol::tx::MoneroRctKey = messages::monero::MoneroTransactionSourceEntry_MoneroOutputEntry_MoneroRctKeyPublic
using hw::trezor::protocol::tx::MoneroRsigData = messages::monero::MoneroTransactionRsigData
using hw::trezor::protocol::tx::tx_construction_data = tools::wallet2::tx_construction_data
using hw::trezor::protocol::tx::unsigned_tx_set = tools::wallet2::unsigned_tx_set
typedef boost::variant< rct::Bulletproof, rct::BulletproofPlushw::trezor::protocol::tx::rsig_v

Functions

std::string hw::trezor::protocol::key_to_string (const ::crypto::ec_point &key)
std::string hw::trezor::protocol::key_to_string (const ::crypto::ec_scalar &key)
std::string hw::trezor::protocol::key_to_string (const ::crypto::hash &key)
std::string hw::trezor::protocol::key_to_string (const ::rct::key &key)
void hw::trezor::protocol::string_to_key (::crypto::ec_scalar &key, const std::string &str)
void hw::trezor::protocol::string_to_key (::crypto::ec_point &key, const std::string &str)
void hw::trezor::protocol::string_to_key (::rct::key &key, const std::string &str)
template<class sub_t, class InputIterator>
void hw::trezor::protocol::assign_to_repeatable (::google::protobuf::RepeatedField< sub_t > *dst, const InputIterator begin, const InputIterator end)
template<class sub_t, class InputIterator>
void hw::trezor::protocol::assign_from_repeatable (std::vector< sub_t > *dst, const InputIterator begin, const InputIterator end)
template<typename T>
bool hw::trezor::protocol::cn_deserialize (const void *buff, size_t len, T &dst)
template<typename T>
bool hw::trezor::protocol::cn_deserialize (const std::string &str, T &dst)
template<typename T>
std::string hw::trezor::protocol::cn_serialize (T &obj)
void hw::trezor::protocol::crypto::chacha::decrypt (const void *ciphertext, size_t length, const uint8_t *key, const uint8_t *iv, char *plaintext, size_t *plaintext_len)
bool hw::trezor::protocol::ki::key_image_data (wallet_shim *wallet, const std::vector< tools::wallet2::transfer_details > &transfers, std::vector< MoneroTransferDetails > &res)
std::string hw::trezor::protocol::ki::compute_hash (const MoneroTransferDetails &rr)
void hw::trezor::protocol::ki::generate_commitment (std::vector< MoneroTransferDetails > &mtds, const std::vector< tools::wallet2::transfer_details > &transfers, std::shared_ptr< messages::monero::MoneroKeyImageExportInitRequest > &req)
void hw::trezor::protocol::ki::live_refresh_ack (const ::crypto::secret_key &view_key_priv, const ::crypto::public_key &out_key, const std::shared_ptr< messages::monero::MoneroLiveRefreshStepAck > &ack, ::cryptonote::keypair &in_ephemeral, ::crypto::key_image &ki)
void hw::trezor::protocol::tx::translate_address (MoneroAccountPublicAddress *dst, const cryptonote::account_public_address *src)
void hw::trezor::protocol::tx::translate_dst_entry (MoneroTransactionDestinationEntry *dst, const cryptonote::tx_destination_entry *src)
void hw::trezor::protocol::tx::translate_klrki (MoneroMultisigKLRki *dst, const rct::multisig_kLRki *src)
void hw::trezor::protocol::tx::translate_rct_key (MoneroRctKey *dst, const rct::ctkey *src)
std::string hw::trezor::protocol::tx::hash_addr (const MoneroAccountPublicAddress *addr, boost::optional< uint64_t > amount, boost::optional< bool > is_subaddr)
std::string hw::trezor::protocol::tx::hash_addr (const std::string &spend_key, const std::string &view_key, boost::optional< uint64_t > amount, boost::optional< bool > is_subaddr)
std::string hw::trezor::protocol::tx::hash_addr (const ::crypto::public_key *spend_key, const ::crypto::public_key *view_key, boost::optional< uint64_t > amount, boost::optional< bool > is_subaddr)
::crypto::secret_key hw::trezor::protocol::tx::compute_enc_key (const ::crypto::secret_key &private_view_key, const std::string &aux, const std::string &salt)
std::string hw::trezor::protocol::tx::compute_sealing_key (const std::string &master_key, size_t idx, bool is_iv)
void hw::trezor::protocol::tx::load_tx_key_data (hw::device_cold::tx_key_data_t &res, const std::string &data)
std::shared_ptr< messages::monero::MoneroGetTxKeyRequest > hw::trezor::protocol::tx::get_tx_key (const hw::device_cold::tx_key_data_t &tx_data)
void hw::trezor::protocol::tx::get_tx_key_ack (std::vector<::crypto::secret_key > &tx_keys, const std::string &tx_prefix_hash, const ::crypto::secret_key &view_key_priv, std::shared_ptr< const messages::monero::MoneroGetTxKeyAck > ack)

Variables

const unsigned hw::trezor::protocol::crypto::chacha::IV_SIZE = 12
const unsigned hw::trezor::protocol::crypto::chacha::TAG_SIZE = 16