PIVX Core  5.6.99
P2P Digital Currency
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SaplingOperation Class Reference

#include <sapling_operation.h>

Collaboration diagram for SaplingOperation:
[legend]

Public Member Functions

 SaplingOperation (const Consensus::Params &consensusParams, CWallet *_wallet)
 
 ~SaplingOperation ()
 
OperationResult build ()
 
OperationResult send (std::string &retTxHash)
 
OperationResult buildAndSend (std::string &retTxHash)
 
void setFromAddress (const CTxDestination &)
 
void setFromAddress (const libzcash::SaplingPaymentAddress &)
 
void clearTx ()
 
SaplingOperationsetSelectTransparentCoins (const bool select, const bool _fIncludeDelegated=false)
 
SaplingOperationsetSelectShieldedCoins (const bool select)
 
SaplingOperationsetRecipients (std::vector< SendManyRecipient > &vec)
 
SaplingOperationsetFee (CAmount _fee)
 
SaplingOperationsetMinDepth (int _mindepth)
 
SaplingOperationsetTransparentKeyChange (CReserveKey *reserveKey)
 
SaplingOperationsetCoinControl (const CCoinControl *_coinControl)
 
CAmount getFee ()
 
CTransaction getFinalTx ()
 
CTransactionRef getFinalTxRef ()
 

Private Member Functions

OperationResult loadUtxos (TxValues &values)
 
OperationResult loadUtxos (TxValues &txValues, const std::vector< COutput > &selectedUTXO, const CAmount selectedUTXOAmount)
 
OperationResult loadUnspentNotes (TxValues &txValues, uint256 &ovk)
 
OperationResult checkTxValues (TxValues &txValues, bool isFromtAddress, bool isFromShielded)
 

Private Attributes

CWalletwallet {nullptr}
 
FromAddress fromAddress
 
bool selectFromtaddrs {false}
 
bool selectFromShield {false}
 
bool fIncludeDelegated {false}
 
const CCoinControlcoinControl {nullptr}
 
std::vector< SendManyRecipientrecipients
 
std::vector< COutputtransInputs
 
std::vector< SaplingNoteEntryshieldedInputs
 
int mindepth {5}
 
CAmount fee {0}
 
CReserveKeytkeyChange {nullptr}
 
TransactionBuilder txBuilder
 
CTransactionRef finalTx
 

Detailed Description

Definition at line 83 of file sapling_operation.h.

Constructor & Destructor Documentation

◆ SaplingOperation()

SaplingOperation::SaplingOperation ( const Consensus::Params consensusParams,
CWallet _wallet 
)
explicit

Definition at line 23 of file sapling_operation.cpp.

◆ ~SaplingOperation()

SaplingOperation::~SaplingOperation ( )

Definition at line 30 of file sapling_operation.cpp.

Member Function Documentation

◆ build()

OperationResult SaplingOperation::build ( )

Definition at line 81 of file sapling_operation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildAndSend()

OperationResult SaplingOperation::buildAndSend ( std::string &  retTxHash)

Definition at line 281 of file sapling_operation.cpp.

Here is the call graph for this function:

◆ checkTxValues()

OperationResult SaplingOperation::checkTxValues ( TxValues txValues,
bool  isFromtAddress,
bool  isFromShielded 
)
private

Definition at line 35 of file sapling_operation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clearTx()

void SaplingOperation::clearTx ( )
inline

Definition at line 94 of file sapling_operation.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFee()

CAmount SaplingOperation::getFee ( )
inline

Definition at line 104 of file sapling_operation.h.

◆ getFinalTx()

CTransaction SaplingOperation::getFinalTx ( )
inline

Definition at line 105 of file sapling_operation.h.

◆ getFinalTxRef()

CTransactionRef SaplingOperation::getFinalTxRef ( )
inline

Definition at line 106 of file sapling_operation.h.

◆ loadUnspentNotes()

OperationResult SaplingOperation::loadUnspentNotes ( TxValues txValues,
uint256 ovk 
)
private

Definition at line 431 of file sapling_operation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadUtxos() [1/2]

OperationResult SaplingOperation::loadUtxos ( TxValues txValues,
const std::vector< COutput > &  selectedUTXO,
const CAmount  selectedUTXOAmount 
)
private

Definition at line 378 of file sapling_operation.cpp.

Here is the call graph for this function:

◆ loadUtxos() [2/2]

OperationResult SaplingOperation::loadUtxos ( TxValues values)
private

Definition at line 304 of file sapling_operation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ send()

OperationResult SaplingOperation::send ( std::string &  retTxHash)

Definition at line 270 of file sapling_operation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setCoinControl()

SaplingOperation* SaplingOperation::setCoinControl ( const CCoinControl _coinControl)
inline

Definition at line 102 of file sapling_operation.h.

Here is the caller graph for this function:

◆ setFee()

SaplingOperation* SaplingOperation::setFee ( CAmount  _fee)
inline

Definition at line 99 of file sapling_operation.h.

◆ setFromAddress() [1/2]

void SaplingOperation::setFromAddress ( const CTxDestination _dest)

Definition at line 287 of file sapling_operation.cpp.

◆ setFromAddress() [2/2]

void SaplingOperation::setFromAddress ( const libzcash::SaplingPaymentAddress _payment)

Definition at line 292 of file sapling_operation.cpp.

◆ setMinDepth()

SaplingOperation* SaplingOperation::setMinDepth ( int  _mindepth)
inline

Definition at line 100 of file sapling_operation.h.

Here is the caller graph for this function:

◆ setRecipients()

SaplingOperation* SaplingOperation::setRecipients ( std::vector< SendManyRecipient > &  vec)
inline

Definition at line 98 of file sapling_operation.h.

Here is the caller graph for this function:

◆ setSelectShieldedCoins()

SaplingOperation* SaplingOperation::setSelectShieldedCoins ( const bool  select)
inline

Definition at line 97 of file sapling_operation.h.

Here is the caller graph for this function:

◆ setSelectTransparentCoins()

SaplingOperation * SaplingOperation::setSelectTransparentCoins ( const bool  select,
const bool  _fIncludeDelegated = false 
)

Definition at line 297 of file sapling_operation.cpp.

Here is the caller graph for this function:

◆ setTransparentKeyChange()

SaplingOperation* SaplingOperation::setTransparentKeyChange ( CReserveKey reserveKey)
inline

Definition at line 101 of file sapling_operation.h.

Here is the caller graph for this function:

Member Data Documentation

◆ coinControl

const CCoinControl* SaplingOperation::coinControl {nullptr}
private

Definition at line 121 of file sapling_operation.h.

◆ fee

CAmount SaplingOperation::fee {0}
private

Definition at line 126 of file sapling_operation.h.

◆ finalTx

CTransactionRef SaplingOperation::finalTx
private

Definition at line 133 of file sapling_operation.h.

◆ fIncludeDelegated

bool SaplingOperation::fIncludeDelegated {false}
private

Definition at line 120 of file sapling_operation.h.

◆ fromAddress

FromAddress SaplingOperation::fromAddress
private

Definition at line 116 of file sapling_operation.h.

◆ mindepth

int SaplingOperation::mindepth {5}
private

Definition at line 125 of file sapling_operation.h.

◆ recipients

std::vector<SendManyRecipient> SaplingOperation::recipients
private

Definition at line 122 of file sapling_operation.h.

◆ selectFromShield

bool SaplingOperation::selectFromShield {false}
private

Definition at line 119 of file sapling_operation.h.

◆ selectFromtaddrs

bool SaplingOperation::selectFromtaddrs {false}
private

Definition at line 118 of file sapling_operation.h.

◆ shieldedInputs

std::vector<SaplingNoteEntry> SaplingOperation::shieldedInputs
private

Definition at line 124 of file sapling_operation.h.

◆ tkeyChange

CReserveKey* SaplingOperation::tkeyChange {nullptr}
private

Definition at line 129 of file sapling_operation.h.

◆ transInputs

std::vector<COutput> SaplingOperation::transInputs
private

Definition at line 123 of file sapling_operation.h.

◆ txBuilder

TransactionBuilder SaplingOperation::txBuilder
private

Definition at line 132 of file sapling_operation.h.

◆ wallet

CWallet* SaplingOperation::wallet {nullptr}
private

Definition at line 114 of file sapling_operation.h.


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