Hello @jk_it_is !
Your best source of information on the block parsing is the nitro code itself, in particular:
- nitro/arbstate/inbox.go at master · OffchainLabs/nitro · GitHub : initial parsing of the block, with DA headers
- nitro/daprovider at master · OffchainLabs/nitro · GitHub : complete implementation of the DA information extraction.
Start from the inbox.go file and review all the called DA functions in nitro/daprovider.
In general, I think you are in the right track. There are no “alternative” encodings, however, some L2 messages changed a bit over time, so depending on the block number there are differences that must be accounted to preserved the code retro compatible. Keep that in mind if you want to parse past Arbitrum events as well.
Regards,
Gustavo.