mirror of
https://github.com/ZmnSCPxj/clboss.git
synced 2026-08-13 12:33:20 +02:00
26 lines
670 B
C++
26 lines
670 B
C++
#include"Bitcoin/TxIn.hpp"
|
|
#include"Bitcoin/le.hpp"
|
|
#include"Bitcoin/varint.hpp"
|
|
|
|
std::ostream& operator<<(std::ostream& os, Bitcoin::TxIn const& v) {
|
|
os << v.prevTxid
|
|
<< Bitcoin::le(v.prevOut)
|
|
<< Bitcoin::varint(v.scriptSig.size())
|
|
;
|
|
for (auto b : v.scriptSig)
|
|
os.put(b);
|
|
os << Bitcoin::le(v.nSequence);
|
|
return os;
|
|
}
|
|
std::istream& operator>>(std::istream& is, Bitcoin::TxIn& v) {
|
|
auto scriptSigLen = std::uint64_t();
|
|
is >> v.prevTxid
|
|
>> Bitcoin::le(v.prevOut)
|
|
>> Bitcoin::varint(scriptSigLen)
|
|
;
|
|
v.scriptSig.resize(std::size_t(scriptSigLen));
|
|
for (auto& b : v.scriptSig)
|
|
b = is.get();
|
|
is >> Bitcoin::le(v.nSequence);
|
|
return is;
|
|
}
|