ĞDev: virements réguliers

Je viens de programmer un virement régulier de 0,1 DU par jour pendant 100 jours, de mon compte membre vers mon simple portefeuille Ğecko:

J’ai utilisé le call scheduler.scheduleNamedAfter qui est le plus simple à utiliser (malgré son nom plus long).

Les paramètres sont les suivants:

  1. id: Un identifiant unique, qu’il faudra renseigner si vous souhaitez arrêter ce virement régulier avant son terme.
  2. after : Délai avant le 1er virement, en nombre de blocs, indiquez zéro pour réaliser le 1er virement immédiatement.
  3. maybePeriodic : deux nombres entier pour indiquer la fréquence et le nombre d’occurrences totales. Dans mon cas j’ai indiqué une fréquence de 1 jour (14400 blocs) et 100 occurrences, donc dans 100 jours ce virement régulier s’arrêtera.
  4. priority: indiquez toujours 255 ici.
  5. call: le Call à exécuter régulièrement. Dans mon cas je veux faire un virement en DU, donc c’est le call universalDividend.transferUd. Ainsi le montant versé restera le même en DU, même après réévaluation du DU !

Vous pouvez programmer l’exécution régulière de n’importe-quel Call, même si dans la pratique ça ne me semble utile que pour les transfert de monnaie, amusez-vous bien :smiley:

5 Likes

Mauvaise nouvelle, je viens d’apprendre aujourd’hui par parity que la pallet scheduler n’a pas été conçue pour être utilisable par les utilisateurs finaux.

Elle ne charge aucun frais pour les exécutions automatiques, il est donc possible de remplir les blocs « gratuitement », sans consommer ses quotas ne payer de frais, c’est évidemment une issue de sécurité majeure, je viens d’ouvrir une issue: Scheduler pallet should be callable from permisioned origin only: we need to cerate a dedicated pallet for automatic transfers (#68) · Issues · nodes / rust / Duniter v2S · GitLab

Nous devons donc développer notre propre pallet dédiée aux virements réguliers :confused:

3 Likes