Electroneum
Public Member Functions | Private Attributes | Friends | List of all members
Electroneum::PendingTransactionImpl Class Reference

#include <pending_transaction.h>

Inheritance diagram for Electroneum::PendingTransactionImpl:
Inheritance graph
[legend]
Collaboration diagram for Electroneum::PendingTransactionImpl:
Collaboration graph
[legend]

Public Member Functions

 PendingTransactionImpl (WalletImpl &wallet)
 
 ~PendingTransactionImpl ()
 
int status () const override
 
std::string errorString () const override
 
bool commit (const std::string &filename="", bool overwrite=false) override
 
uint64_t amount () const override
 
uint64_t dust () const override
 
uint64_t fee () const override
 
std::vector< std::string > txid () const override
 
uint64_t txCount () const override
 txCount - number of transactions current transaction will be splitted to More...
 
std::vector< uint32_t > subaddrAccount () const override
 
std::vector< std::set< uint32_t > > subaddrIndices () const override
 
std::string multisigSignData () override
 multisigSignData More...
 
void signMultisigTx () override
 
std::vector< std::string > signersKeys () const override
 signersKeys More...
 
- Public Member Functions inherited from Electroneum::PendingTransaction
virtual ~PendingTransaction ()=0
 

Private Attributes

WalletImplm_wallet
 
int m_status
 
std::string m_errorString
 
std::vector< tools::wallet2::pending_txm_pending_tx
 
std::unordered_set< crypto::public_keym_signers
 
std::vector< std::string > m_tx_device_aux
 
std::vector< crypto::key_imagem_key_images
 

Friends

class WalletImpl
 

Additional Inherited Members

- Public Types inherited from Electroneum::PendingTransaction
enum  Status { Status_Ok , Status_Error , Status_Critical }
 
enum  Priority {
  Priority_Default = 0 , Priority_Low = 1 , Priority_Medium = 2 , Priority_High = 3 ,
  Priority_Last
}
 

Constructor & Destructor Documentation

◆ PendingTransactionImpl()

Electroneum::PendingTransactionImpl::PendingTransactionImpl ( WalletImpl wallet)

◆ ~PendingTransactionImpl()

Electroneum::PendingTransactionImpl::~PendingTransactionImpl ( )

Member Function Documentation

◆ amount()

uint64_t Electroneum::PendingTransactionImpl::amount ( ) const
overridevirtual

◆ commit()

bool Electroneum::PendingTransactionImpl::commit ( const std::string &  filename = "",
bool  overwrite = false 
)
overridevirtual

◆ dust()

uint64_t Electroneum::PendingTransactionImpl::dust ( ) const
overridevirtual

◆ errorString()

string Electroneum::PendingTransactionImpl::errorString ( ) const
overridevirtual

◆ fee()

uint64_t Electroneum::PendingTransactionImpl::fee ( ) const
overridevirtual

◆ multisigSignData()

std::string Electroneum::PendingTransactionImpl::multisigSignData ( )
overridevirtual

multisigSignData

Returns
encoded multisig transaction with signers' keys. Transfer this data to another wallet participant to sign it. Assumed use case is:
  1. Initiator: auto data = pendingTransaction->multisigSignData();
  2. Signer1: pendingTransaction = wallet->restoreMultisigTransaction(data); pendingTransaction->signMultisigTx(); auto signed = pendingTransaction->multisigSignData();
  3. Signer2: pendingTransaction = wallet->restoreMultisigTransaction(signed); pendingTransaction->signMultisigTx(); pendingTransaction->commit();

Implements Electroneum::PendingTransaction.

◆ signersKeys()

std::vector< std::string > Electroneum::PendingTransactionImpl::signersKeys ( ) const
overridevirtual

signersKeys

Returns
vector of base58-encoded signers' public keys

Implements Electroneum::PendingTransaction.

◆ signMultisigTx()

void Electroneum::PendingTransactionImpl::signMultisigTx ( )
overridevirtual

◆ status()

int Electroneum::PendingTransactionImpl::status ( ) const
overridevirtual

◆ subaddrAccount()

std::vector< uint32_t > Electroneum::PendingTransactionImpl::subaddrAccount ( ) const
overridevirtual

◆ subaddrIndices()

std::vector< std::set< uint32_t > > Electroneum::PendingTransactionImpl::subaddrIndices ( ) const
overridevirtual

◆ txCount()

uint64_t Electroneum::PendingTransactionImpl::txCount ( ) const
overridevirtual

txCount - number of transactions current transaction will be splitted to

Returns

Implements Electroneum::PendingTransaction.

◆ txid()

std::vector< std::string > Electroneum::PendingTransactionImpl::txid ( ) const
overridevirtual

Friends And Related Function Documentation

◆ WalletImpl

friend class WalletImpl
friend

Member Data Documentation

◆ m_errorString

std::string Electroneum::PendingTransactionImpl::m_errorString
private

◆ m_key_images

std::vector<crypto::key_image> Electroneum::PendingTransactionImpl::m_key_images
private

◆ m_pending_tx

std::vector<tools::wallet2::pending_tx> Electroneum::PendingTransactionImpl::m_pending_tx
private

◆ m_signers

std::unordered_set<crypto::public_key> Electroneum::PendingTransactionImpl::m_signers
private

◆ m_status

int Electroneum::PendingTransactionImpl::m_status
private

◆ m_tx_device_aux

std::vector<std::string> Electroneum::PendingTransactionImpl::m_tx_device_aux
private

◆ m_wallet

WalletImpl& Electroneum::PendingTransactionImpl::m_wallet
private

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