-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTransaction.cpp
More file actions
36 lines (31 loc) · 753 Bytes
/
Copy pathTransaction.cpp
File metadata and controls
36 lines (31 loc) · 753 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "include/Transaction.h"
Transaction::Transaction(const std::vector<Input> &inputs, const std::vector<Output> &outputs)
: inputs{inputs}, outputs{outputs}
{
txHash = generateTxHash();
}
std::string Transaction::generateTxHash()
{
std::string inputHash;
std::string outputHash;
for (uint i = 0; i < inputs.size(); i++)
{
inputHash += inputs[i].getHash();
}
for (uint i = 0; i < outputs.size(); i++)
outputHash += outputs[i].getHash();
std::string str = inputHash + outputHash;
return picosha2::hash256_hex_string(str);
}
std::vector<Input> Transaction::getInputs() const
{
return inputs;
}
std::vector<Output> Transaction::getOutputs() const
{
return outputs;
}
std::string Transaction::getTxHash() const
{
return txHash;
}