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