Transaction Context

Understanding transaction references and internal transaction sequencing

Learning Objective

Master the transaction numbering system and internal transaction relationships

Single Transaction Reference

watchRule:

{
  "expressions": [
    "system.invoked(tx1.WETH.F.transfer)"
  ]
}
Concept: Single transaction reference

Monitors function calls within a single main transaction

Internal Transaction Reference

watchRule:

{
  "expressions": [
    "system.invoked(tx1.itx1.UniswapV2Pair.F.swap)"
  ]
}
Concept: Internal transaction reference

Monitors function calls within internal transactions (contract-to-contract calls)

Multiple Transaction Coordination

watchRule:

{
  "expressions": [
    "system.invoked(tx1.AavePool.F.flashLoan) && system.invoked(tx2.CompoundCToken.F.mint)"
  ]
}
Concept: Multiple transaction coordination

Monitors coordination between separate main transactions in sequence

Internal Transaction Sequence

watchRule:

{
  "expressions": [
    "system.invoked(tx1.itx1.UniswapV2Router.F.swapExactTokensForTokens) && system.invoked(tx1.itx2.WETH.F.transfer)"
  ]
}
Concept: Internal transaction sequence

Monitors ordered sequence of internal transactions within same main transaction

Cross-Transaction Internal Activity

watchRule:

{
  "expressions": [
    "system.invoked(tx1.itx1.USDC.F.transfer) && system.invoked(tx2.itx1.DAI.F.transfer)"
  ]
}
Concept: Cross-transaction internal activity

Monitors internal transactions across different main transactions

Complex Internal Sequence

watchRule:

{
  "expressions": [
    "system.invoked(tx1.itx1.AavePool.F.flashLoan) && system.invoked(tx1.itx2.UniswapV2Router.F.swapExactTokensForTokens) && system.invoked(tx1.itx3.AavePool.F.repayFlashLoan)"
  ]
}
Concept: Complex internal sequence

Monitors ordered three-step internal transaction sequence within single main transaction