ZIP-239: implement mempool transaction v5 data structures and network messages #2449
Labels
A-network
Area: Network protocol updates or fixes
A-rust
Area: Updates to Rust code
C-enhancement
Category: This is an improvement
NU-5
Network Upgrade: NU5 specific tasks
Milestone
Motivation
When the mempool is implemented, Zebra must conform to ZIP-239 in order to properly relay transactions to the network.
This ticket focuses on parsing the data structures from ZIP-239, and sending the corresponding network messages.
Specifications
ZIP-239 describes the consensus rules for a new
MSG_WTX
inventory type, that MUST be used when relaying V5 transactions.NOTE: #2446 added a
Message::Wtx
variant, but thetxid
andauth_digest
were not specifically defined.Designs
Zebra currently parses the wide transaction ID
Inv
type inzebra_network::protocol::external
.But we also need to:
WtxId
intoid
andauth_data
fieldsUnminedTxId
andUnminedTx
enums, so we can abstract over v4 transactions withTxId
s, and v5 transactions withWtxId
sUnminedTx
, because we're going to need them to store the transactionUnminedTxId
andUnminedTx
for mempool/transaction messagesRelated Work
#2233 and #2446 added an initial
Message::Wtx
variant for ZIP-239, and implemented serialization and deserialization of it.The transaction ID for V5 transactions (with the
auth_digest
) is defined in ZIP-244, and implemented in #2129.The text was updated successfully, but these errors were encountered: