28 lines
637 B
C++
28 lines
637 B
C++
#include "TxOutput.h"
|
|
#include "VarInt.h"
|
|
|
|
#include <iostream>
|
|
|
|
TxOutput::TxOutput(const std::byte *data) {
|
|
_value = *reinterpret_cast<const uint64_t*>(data);
|
|
data += sizeof(_value);
|
|
VarInt scriptPubKeySize(data);
|
|
data += scriptPubKeySize.size();
|
|
|
|
_pubKeyScript = std::make_unique<Script>(std::span((uint8_t*)data, scriptPubKeySize.value()));
|
|
|
|
_size = sizeof(_value) + scriptPubKeySize.size() + scriptPubKeySize.value();
|
|
}
|
|
|
|
size_t TxOutput::size() const {
|
|
return _size;
|
|
}
|
|
|
|
std::string TxOutput::address() const {
|
|
return _pubKeyScript->address();
|
|
}
|
|
|
|
uint64_t TxOutput::value() const {
|
|
return _value;
|
|
}
|