Electroneum
Typedefs | Functions
hw::trezor::protocol::ki Namespace Reference

Typedefs

using ElectroneumTransferDetails = messages::electroneum::ElectroneumKeyImageSyncStepRequest_ElectroneumTransferDetails
 
using ElectroneumSubAddressIndicesList = messages::electroneum::ElectroneumKeyImageExportInitRequest_ElectroneumSubAddressIndicesList
 
using ElectroneumExportedKeyImage = messages::electroneum::ElectroneumKeyImageSyncStepAck_ElectroneumExportedKeyImage
 
using exported_key_image = hw::device_cold::exported_key_image
 

Functions

bool key_image_data (wallet_shim *wallet, const std::vector< tools::wallet2::transfer_details > &transfers, std::vector< ElectroneumTransferDetails > &res)
 
std::string compute_hash (const ElectroneumTransferDetails &rr)
 
void generate_commitment (std::vector< ElectroneumTransferDetails > &mtds, const std::vector< tools::wallet2::transfer_details > &transfers, std::shared_ptr< messages::Electroneum::ElectroneumKeyImageExportInitRequest > &req)
 
void live_refresh_ack (const ::crypto::secret_key &view_key_priv, const ::crypto::public_key &out_key, const std::shared_ptr< messages::Electroneum::ElectroneumLiveRefreshStepAck > &ack, ::cryptonote::keypair &in_ephemeral, ::crypto::key_image &ki)
 
void generate_commitment (std::vector< ElectroneumTransferDetails > &mtds, const std::vector< tools::wallet2::transfer_details > &transfers, std::shared_ptr< messages::electroneum::ElectroneumKeyImageExportInitRequest > &req)
 
void live_refresh_ack (const ::crypto::secret_key &view_key_priv, const ::crypto::public_key &out_key, const std::shared_ptr< messages::electroneum::ElectroneumLiveRefreshStepAck > &ack, ::cryptonote::keypair &in_ephemeral, ::crypto::key_image &ki)
 

Typedef Documentation

◆ ElectroneumExportedKeyImage

using hw::trezor::protocol::ki::ElectroneumExportedKeyImage = typedef messages::electroneum::ElectroneumKeyImageSyncStepAck_ElectroneumExportedKeyImage

◆ ElectroneumSubAddressIndicesList

using hw::trezor::protocol::ki::ElectroneumSubAddressIndicesList = typedef messages::electroneum::ElectroneumKeyImageExportInitRequest_ElectroneumSubAddressIndicesList

◆ ElectroneumTransferDetails

using hw::trezor::protocol::ki::ElectroneumTransferDetails = typedef messages::electroneum::ElectroneumKeyImageSyncStepRequest_ElectroneumTransferDetails

◆ exported_key_image

Function Documentation

◆ compute_hash()

std::string hw::trezor::protocol::ki::compute_hash ( const ElectroneumTransferDetails rr)

Computes a hash over ElectroneumTransferDetails. Commitment used in the KI sync.

◆ generate_commitment() [1/2]

void hw::trezor::protocol::ki::generate_commitment ( std::vector< ElectroneumTransferDetails > &  mtds,
const std::vector< tools::wallet2::transfer_details > &  transfers,
std::shared_ptr< messages::Electroneum::ElectroneumKeyImageExportInitRequest > &  req 
)

◆ generate_commitment() [2/2]

void hw::trezor::protocol::ki::generate_commitment ( std::vector< ElectroneumTransferDetails > &  mtds,
const std::vector< tools::wallet2::transfer_details > &  transfers,
std::shared_ptr< messages::electroneum::ElectroneumKeyImageExportInitRequest > &  req 
)

Generates KI sync request with commitments computed.

◆ key_image_data()

bool hw::trezor::protocol::ki::key_image_data ( wallet_shim wallet,
const std::vector< tools::wallet2::transfer_details > &  transfers,
std::vector< ElectroneumTransferDetails > &  res 
)

Converts transfer details to the ElectroneumTransferDetails required for KI sync

◆ live_refresh_ack() [1/2]

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::Electroneum::ElectroneumLiveRefreshStepAck > &  ack,
::cryptonote::keypair in_ephemeral,
::crypto::key_image ki 
)

◆ live_refresh_ack() [2/2]

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::electroneum::ElectroneumLiveRefreshStepAck > &  ack,
::cryptonote::keypair in_ephemeral,
::crypto::key_image ki 
)

Processes Live refresh step response, parses KI, checks the signature