MEMO_FIELD
constMEMO_FIELD:10=10
Defined in: wallet-tron/src/memo.ts:20
Memo = Transaction.raw.data (protobuf field 10, bytes). The full node builds
raw_data_hex for us; we splice the field in ourselves rather than re-encoding
the contracts.
Where it goes matters: java-tron recomputes txID as sha256 of the raw_data it
re-serializes from the parsed message, and protobuf-java writes fields in
field-number order. A memo appended after contract (field 11) would therefore
hash differently on the node than what we signed. So the record is inserted at
its canonical position — after every field numbered ≤ 10, before the first > 10
(ref_block_bytes 1 … expiration 8, auths 9, DATA 10, contract 11, scripts 12,
timestamp 14, fee_limit 18). The JSON we broadcast carries the same bytes as
raw_data.data (hex), the way tronweb’s addUpdateData does.