fixed miner_tx and proto_tx
This commit is contained in:
@@ -122,7 +122,7 @@ constexpr uint8_t MINER_REWARD_UNLOCK_TIME = 60;
|
||||
constexpr uint8_t NONCE_SIZE = 4;
|
||||
constexpr uint8_t EXTRA_NONCE_SIZE = 4;
|
||||
constexpr uint8_t EXTRA_NONCE_MAX_SIZE = EXTRA_NONCE_SIZE + 10;
|
||||
constexpr uint8_t TX_VERSION = 4; // Salvium Carrot v1
|
||||
constexpr uint8_t TX_VERSION = 60;
|
||||
constexpr uint8_t TXIN_GEN = 0xFF;
|
||||
constexpr uint8_t TXOUT_TO_TAGGED_KEY = 3;
|
||||
constexpr uint8_t TXOUT_TO_CARROT_V1 = 4;
|
||||
|
||||
@@ -1155,6 +1155,14 @@ void p2pool::submit_block() const
|
||||
}
|
||||
else {
|
||||
LOGINFO(0, log::LightGreen() << "submit_block: height = " << height << ", external blob (" << submit_data.blob.size() << " bytes)");
|
||||
std::string hex;
|
||||
hex.reserve(submit_data.blob.size() * 2);
|
||||
for (size_t i = 0; i < std::min<size_t>(submit_data.blob.size(), 400); ++i) {
|
||||
char buf[3];
|
||||
snprintf(buf, sizeof(buf), "%02x", submit_data.blob[i]);
|
||||
hex.append(buf);
|
||||
}
|
||||
LOGINFO(0, "BLOB HEX (first 400 bytes): " << hex);
|
||||
is_external = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -228,6 +228,31 @@ std::vector<uint8_t> PoolBlock::serialize_mainchain_data(size_t* header_size, si
|
||||
*miner_tx_size = data.size() - header_size0;
|
||||
}
|
||||
|
||||
// Protocol tx (Salvium Carrot v1+)
|
||||
if (m_majorVersion >= 10) {
|
||||
writeVarint(4, data); // version = TRANSACTION_VERSION_CARROT
|
||||
writeVarint(60, data); // unlock_time = 60
|
||||
|
||||
// vin (1 txin_gen)
|
||||
writeVarint(1, data); // vin.size() = 1
|
||||
data.push_back(TXIN_GEN);
|
||||
writeVarint(m_txinGenHeight, data);
|
||||
|
||||
// vout (empty)
|
||||
writeVarint(0, data); // vout.size() = 0
|
||||
|
||||
// extra (2 bytes: 0x02 0x00)
|
||||
writeVarint(2, data); // extra.size() = 2
|
||||
data.push_back(0x02);
|
||||
data.push_back(0x00);
|
||||
|
||||
// type = PROTOCOL
|
||||
writeVarint(2, data); // transaction_type::PROTOCOL = 2
|
||||
|
||||
// rct_signatures (null)
|
||||
data.push_back(0); // RCTTypeNull
|
||||
}
|
||||
|
||||
writeVarint(m_transactions.size() - 1, data);
|
||||
|
||||
#ifdef WITH_INDEXED_HASHES
|
||||
|
||||
Reference in New Issue
Block a user