Owner: @David Rusu
Reviewers: 🟢@Thomas Lavaur 🟢@Giacomo Pasini 🟢@Gusto Bacvinka 🟢@Daniel Sanchez Quiros 🟢@Álvaro Castro-Castilla
| Version | Changes | Date |
|---|---|---|
| 1.0.0 | Initial revision. | 2026-01-20 |
This document specifies the canonical encoding of Mantle transactions and it’s sub-components. Transactions sent through the mempool and included in blocks use this encoding.
The transaction encoding is specified in ABNF form to remove any ambiguity and guarantee a canonical encoding. The high level encoding choices which were not immediately derivable from the Mantle specification are listed here:
SignedMantleTx = MantleTx OpsProofs LedgerTxProof
MantleTx = Ops LedgerTx ExecutionGasPrice StorageGasPrice
ExecutionGasPrice = UINT64
StorageGasPrice = UINT64
<aside> 💡
In future iterations, we will use this encoding to derive the mantle_txhash
</aside>
Ops = OpCount *Op
OpCount = Byte
Op = Opcode OpPayload
Opcode = Byte
OpPayload = ChannelInscribe /
ChannelBlob /
ChannelSetKeys /
SDPDeclare /
SDPWithdraw /
SDPActive /
LeaderClaim