J’ai cherché les contrats de genèse en m’attendant à une liste plus longue, mais je n’en ai trouvé que deux.👀

Le contrat de mise suit les provisionneurs, leurs mises, leurs récompenses, ainsi que la gestion de l’ensemble des validateurs. Le contrat de transfert fait quelque chose de plus intéressant.

Cela dit, les modèles de transaction de Dusk utilisent tous deux le contrat de transfert comme passerelle. Moonlight est basé sur un compte et public. Phoenix est de type UTXO.

Basé sur un compte et protégé, et à l’inverse, « shielded » et privé. Deux paradigmes entièrement différents : l’un public et lisible, l’autre blindé et privé, et les deux passent par le même contrat de transfert plutôt que d’avoir chacun son propre chemin.

Cette consolidation, je ne l’avais pas prévue. Je pensais qu’un modèle public et un modèle blindé auraient besoin de points d’entrée d’exécution distincts, compte tenu de la façon très différente dont ils gèrent les soldes, mais la documentation indique clairement que les deux convergent vers un seul contrat.

Je ne sais pas encore si ce point d’entrée partagé crée des contraintes sur la manière dont les transactions Moonlight et Phoenix peuvent interagir au sein d’un même appel, cependant.

La documentation ne détaille pas ce niveau ici.
Si vous conceviez un contrat qui devait accepter à la fois des entrées Moonlight et Phoenix, vous attendriez-vous à un quelconque frottement à ce point d’entrée partagé ??

#dusk @Dusk $DUSK