1.2 KiB
Monero
Addresses
Monero addresses are structs, defined as follows:
kind
: Enum { Standard, Subaddress, Featured { flags: u8 } }spend
: [u8; 32]view
: [u8; 32]
Integrated addresses are not supported due to only being able to send to one per Monero transaction. Supporting them would add a level of complexity to Serai which isn't worth it.
This definition of Featured Addresses is non-standard since the flags are represented by a u8, not a VarInt. Currently, only half of the bits are used, with no further planned features. Accordingly, it should be fine to fix its size. If needed, another enum entry for a 2-byte flags Featured Address could be added.
This definition is also non-standard by not having a Payment ID field. This is per not supporting integrated addresses.
In Instructions
Monero In Instructions are present via tx.extra
, specifically via inclusion
in a TX_EXTRA_NONCE
tag. The tag is followed by the VarInt length of its
contents, and then additionally marked by a byte 127
. The following data is
limited to 254 bytes.
Out Instructions
Out Instructions ignore data
.