I'd like to create a parser of transactions to play around with solana web3.
I've seen that VersionedTransaction contains message & signatures.
The MessageV0 contains a bunch of publicKeys inside the "staticAccountKeys" as well as addressTableLookups and compiledInstructions.
I'm finding it hard to reconstruct what a tx is doing based ont he instructions.
From my "reverse engineering" stuff i've noticed that if an instruction looks like this:
{
programIdIndex: 17,
accountKeyIndexes: [1,2],
data: Uint8Array(8) [
3, 59, 0, 0,
0, 0, 0, 0
]
} then it means that the instruction is meant for the program having pubkey equal to staticAccountKeys[17].
This program will receive the 8 bytes 3,59,0,0,0,0,0,0. but what i dont understand is accountKeyIndexes (in this case 1,2). What are these suppoused to represent?