Instruction PDAs reference an on-chain account that stores information about instructions that are attached to a Transaction.
As with transaction PDAs, instruction PDAs also expect a numeric index relating to the number of instructions attached to a transaction. Every time an instruction is attached to a transaction, the
instructionIndexwill be bumped up by one. This provides a simple way to collect all instructions associated with a specific transaction. Deriving an instruction PDA requires a transaction PDA and the
instructionIndex.toBuffer("le", 1), // note instruction index is an u8 (1 byte)
Be sure to provide the
instructionIndexas a single byte little-endian buffer.
The instruction PDA derivation format is as follows:
["squad", transaction, instructionIndex, "instruction"]