MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / MakeWalletTx

Function MakeWalletTx

src/interfaces/wallet.cpp:60–85  ·  view source on GitHub ↗

Construct wallet tx struct.

Source from the content-addressed store, hash-verified

58
59//! Construct wallet tx struct.
60WalletTx MakeWalletTx(CWallet& wallet, const CWalletTx& wtx)
61{
62 WalletTx result;
63 result.tx = wtx.tx;
64 result.txin_is_mine.reserve(wtx.tx->vin.size());
65 for (const auto& txin : wtx.tx->vin) {
66 result.txin_is_mine.emplace_back(wallet.IsMine(txin));
67 }
68 result.txout_is_mine.reserve(wtx.tx->vout.size());
69 result.txout_address.reserve(wtx.tx->vout.size());
70 result.txout_address_is_mine.reserve(wtx.tx->vout.size());
71 for (const auto& txout : wtx.tx->vout) {
72 result.txout_is_mine.emplace_back(wallet.IsMine(txout));
73 result.txout_address.emplace_back();
74 result.txout_address_is_mine.emplace_back(ExtractDestination(txout.scriptPubKey, result.txout_address.back()) ?
75 IsMine(wallet, result.txout_address.back()) :
76 ISMINE_NO);
77 }
78 result.credit = wtx.GetCredit(ISMINE_ALL);
79 result.debit = wtx.GetDebit(ISMINE_ALL);
80 result.change = wtx.GetChange();
81 result.time = wtx.GetTxTime();
82 result.value_map = wtx.mapValue;
83 result.is_coinbase = wtx.IsCoinBase();
84 return result;
85}
86
87//! Construct wallet tx status struct.
88WalletTxStatus MakeWalletTxStatus(const CWalletTx& wtx)

Callers 3

getWalletTxMethod · 0.85
getWalletTxsMethod · 0.85
getWalletTxDetailsMethod · 0.85

Calls 10

ExtractDestinationFunction · 0.85
IsMineFunction · 0.85
IsMineMethod · 0.80
GetCreditMethod · 0.80
GetDebitMethod · 0.80
GetChangeMethod · 0.80
GetTxTimeMethod · 0.80
reserveMethod · 0.45
sizeMethod · 0.45
IsCoinBaseMethod · 0.45

Tested by

no test coverage detected