Skip to main content

parse_instructions_enhanced

Function parse_instructions_enhanced 

Source
pub fn parse_instructions_enhanced(
    meta: &TransactionStatusMeta,
    transaction: &Option<Transaction>,
    sig: Signature,
    slot: u64,
    tx_idx: u64,
    block_us: Option<i64>,
    grpc_us: i64,
    filter: Option<&EventTypeFilter>,
) -> Vec<DexEvent>
Expand description

解析交易中的所有指令事件(instruction + inner instruction)

§解析流程

  1. 解析主指令(outer instructions)- 8字节 discriminator
  2. 解析内部指令(inner instructions)- 16字节 discriminator
  3. 合并相关事件(instruction + inner instruction)
  4. 填充账户上下文

§性能优化

  • 零分配泄漏:program_invokes 全程 Pubkey 键,与账户填充 / fill_data 共用同一表
  • 零拷贝读取指令账户字节、read_pubkey_fast 解码
  • 热路径 #[inline]
  • should_parse_instructions 提前跳过整段 ix 解析