
Une seule transaction peut interagir avec plusieurs contrats intelligents, chacun ayant sa propre notion de ce qui doit se produire en premier. Cela crée un problème complexe. Imaginons qu’un contrat privilégie les annulations, tandis qu’un autre privilégie les liquidations. Lorsqu’une transaction interagit avec les deux, respecter les règles d’ordre d’un contrat peut compliquer celles de l’autre. La documentation de Ritual aborde ce défi sous l’angle de la composable : comment des politiques d’ordre spécifiques à chaque application peuvent-elles coexister sans créer de conflits ? Une piste proposée est le Système de Priorité Monotone, qui attribue des priorités aux appels de fonctions tout en tenant compte de leurs dépendances. Dans le système décrit, la construction des blocs peut être réduite à un tri selon la priorité. La leçon plus large est que faire respecter les règles au sein d’une seule application ne constitue qu’une partie du problème. Ces règles doivent également fonctionner lorsque les applications interagissent.
