
One transaction can touch several smart contracts, each with its own idea of what should happen first. That creates a difficult problem. Imagine one contract prioritises cancellations, while another prioritises liquidations. When a transaction interacts with both, satisfying one contract’s ordering rules may complicate the other’s. Ritual’s docs explores this challenge as a question of composability: how can different application-specific ordering policies coexist without creating conflicts? One proposed direction is the Monotone Priority System, which assigns priorities to function calls while accounting for their dependencies. Under the described system, block building can be reduced to sorting by priority. The broader lesson is that enforcing rules within one application is only part of the problem. Those rules must also work when applications interact.
