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

#include <transaction_builder.h>

Collaboration diagram for TransactionBuilder:
[legend]

Public Member Functions

 TransactionBuilder (const Consensus::Params &consensusParams, CKeyStore *keyStore=nullptr)
 
void Clear ()
 
void SetFee (CAmount _fee)
 
void AddSaplingSpend (const libzcash::SaplingExpandedSpendingKey &expsk, const libzcash::SaplingNote &note, const uint256 &anchor, const SaplingWitness &witness)
 
void AddSaplingOutput (const uint256 &ovk, const libzcash::SaplingPaymentAddress &to, CAmount value, const std::array< unsigned char, ZC_MEMO_SIZE > &memo)
 
void AddSaplingOutput (const uint256 &ovk, const libzcash::SaplingPaymentAddress &to, CAmount value)
 
void AddTransparentInput (const COutPoint &utxo, const CScript &scriptPubKey, CAmount value)
 
void AddTransparentOutput (const CTxOut &out)
 
void AddTransparentOutput (const CTxDestination &dest, CAmount value)
 
void SendChangeTo (const libzcash::SaplingPaymentAddress &changeAddr, const uint256 &ovk)
 
void SendChangeTo (const CTxDestination &changeAddr)
 
TransactionBuilderResult Build (bool fDummySig=false)
 
TransactionBuilderResult ProveAndSign ()
 
TransactionBuilderResult AddDummySignatures ()
 
void ClearProofsAndSignatures ()
 

Private Attributes

Consensus::Params consensusParams
 
const CKeyStorekeystore
 
CMutableTransaction mtx
 
CAmount fee = -1
 
std::vector< SpendDescriptionInfospends
 
std::vector< OutputDescriptionInfooutputs
 
std::vector< TransparentInputInfotIns
 
Optional< std::pair< uint256, libzcash::SaplingPaymentAddress > > saplingChangeAddr
 
Optional< CTxDestinationtChangeAddr
 

Detailed Description

Definition at line 83 of file transaction_builder.h.

Constructor & Destructor Documentation

◆ TransactionBuilder()

TransactionBuilder::TransactionBuilder ( const Consensus::Params consensusParams,
CKeyStore keyStore = nullptr 
)
explicit

Definition at line 132 of file transaction_builder.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ AddDummySignatures()

TransactionBuilderResult TransactionBuilder::AddDummySignatures ( )

Definition at line 349 of file transaction_builder.cpp.

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

◆ AddSaplingOutput() [1/2]

void TransactionBuilder::AddSaplingOutput ( const uint256 ovk,
const libzcash::SaplingPaymentAddress to,
CAmount  value 
)
inline

Definition at line 121 of file transaction_builder.h.

Here is the call graph for this function:

◆ AddSaplingOutput() [2/2]

void TransactionBuilder::AddSaplingOutput ( const uint256 ovk,
const libzcash::SaplingPaymentAddress to,
CAmount  value,
const std::array< unsigned char, ZC_MEMO_SIZE > &  memo 
)

Definition at line 173 of file transaction_builder.cpp.

Here is the caller graph for this function:

◆ AddSaplingSpend()

void TransactionBuilder::AddSaplingSpend ( const libzcash::SaplingExpandedSpendingKey expsk,
const libzcash::SaplingNote note,
const uint256 anchor,
const SaplingWitness witness 
)

Definition at line 153 of file transaction_builder.cpp.

Here is the call graph for this function:

◆ AddTransparentInput()

void TransactionBuilder::AddTransparentInput ( const COutPoint utxo,
const CScript scriptPubKey,
CAmount  value 
)

Definition at line 189 of file transaction_builder.cpp.

Here is the caller graph for this function:

◆ AddTransparentOutput() [1/2]

void TransactionBuilder::AddTransparentOutput ( const CTxDestination dest,
CAmount  value 
)

Definition at line 208 of file transaction_builder.cpp.

Here is the call graph for this function:

◆ AddTransparentOutput() [2/2]

void TransactionBuilder::AddTransparentOutput ( const CTxOut out)

Definition at line 199 of file transaction_builder.cpp.

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

◆ Build()

TransactionBuilderResult TransactionBuilder::Build ( bool  fDummySig = false)

Definition at line 394 of file transaction_builder.cpp.

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

◆ Clear()

void TransactionBuilder::Clear ( )

Definition at line 141 of file transaction_builder.cpp.

Here is the caller graph for this function:

◆ ClearProofsAndSignatures()

void TransactionBuilder::ClearProofsAndSignatures ( )

Definition at line 379 of file transaction_builder.cpp.

Here is the caller graph for this function:

◆ ProveAndSign()

TransactionBuilderResult TransactionBuilder::ProveAndSign ( )

Definition at line 234 of file transaction_builder.cpp.

Here is the caller graph for this function:

◆ SendChangeTo() [1/2]

void TransactionBuilder::SendChangeTo ( const CTxDestination changeAddr)

Definition at line 224 of file transaction_builder.cpp.

Here is the call graph for this function:

◆ SendChangeTo() [2/2]

void TransactionBuilder::SendChangeTo ( const libzcash::SaplingPaymentAddress changeAddr,
const uint256 ovk 
)

Definition at line 218 of file transaction_builder.cpp.

Here is the caller graph for this function:

◆ SetFee()

void TransactionBuilder::SetFee ( CAmount  _fee)

Definition at line 213 of file transaction_builder.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ consensusParams

Consensus::Params TransactionBuilder::consensusParams
private

Definition at line 86 of file transaction_builder.h.

◆ fee

CAmount TransactionBuilder::fee = -1
private

Definition at line 89 of file transaction_builder.h.

◆ keystore

const CKeyStore* TransactionBuilder::keystore
private

Definition at line 87 of file transaction_builder.h.

◆ mtx

CMutableTransaction TransactionBuilder::mtx
private

Definition at line 88 of file transaction_builder.h.

◆ outputs

std::vector<OutputDescriptionInfo> TransactionBuilder::outputs
private

Definition at line 92 of file transaction_builder.h.

◆ saplingChangeAddr

Optional<std::pair<uint256, libzcash::SaplingPaymentAddress> > TransactionBuilder::saplingChangeAddr
private

Definition at line 95 of file transaction_builder.h.

◆ spends

std::vector<SpendDescriptionInfo> TransactionBuilder::spends
private

Definition at line 91 of file transaction_builder.h.

◆ tChangeAddr

Optional<CTxDestination> TransactionBuilder::tChangeAddr
private

Definition at line 96 of file transaction_builder.h.

◆ tIns

std::vector<TransparentInputInfo> TransactionBuilder::tIns
private

Definition at line 93 of file transaction_builder.h.


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