Is represented as an outpoint: a pair of transaction ID as
byte and output index as a
The ID of a message is computed as the hash of:
- the sender address as
- the recipient address as
- the Message nonce as
- the amount being sent with the message as
- the message data as
hash(byte ++ byte ++ byte ++ uint64 ++ byte). The address values are serialized as a byte array of length 32 left-padded with zeroes, and all other value types are serialized according to the standard transaction serialization. Note that the message data length is not included since there is only one dynamically sized field and can be implicitly determined by the hash preimage size.
The nonce value for
InputMessage is determined by the sending system and is published at the time the message is sent. The nonce value for
OutputMessage is computed as the hash of the Transaction ID that emitted the message and the index of the message receipt
hash(byte ++ uint8).
The UTXO ID of collected fees in a block is the block height as a 32-byte big-endian unsigned integer (i.e. the first byte of the 32-byte array is the most significant byte, and so on).