En effet, il y a un problème avec ces transferts “pending” sortants qui sont ajoutés au solde total (temporaire et non sûr). Ils devraient être soustraits.
C’est la partie la plus sensible de Silkaj, utilisée par les commandes balance et transfer (history n’est pas affectée). Tout changement doit être fait avec des pincettes. Le solde pris en compte pour l’émission d’un transfert prends en compte les transferts en attente. Les transferts bloqués en attente est rare dans le cas de l’interaction humaine sauf si un service régulier de transferts est mis en place. Le problème que je vois est que soit considéré que le solde soit plus élevé qu’en réalité. Si quelqu’un souhaite envoyer tout son solde ou presque, Duniter v1 ne va pas permettre un transfert qui consomme plus de sources que celles disponibles. Donc une erreur sera levée.
C’est un cas assez rare, qui a lieu pour les services qui émettent beaucoup de transferts produisant des transferts en attente. Puis, un transfert consommant quasiment ou toutes les sources disponibles, ferait une erreur de la part de Duniter v1.
Ça n’est pas un bug majeur. Du coup, je n’ai pas trop envie de le corriger, étant donné que la migration v2 ne devrait plus trop tarder.
Attention, le champ Blockchain est présent uniquement lorsqu’il y a des transferts temporaires.
Je suis d’accord que ça fait comme si tu publies au nom du projet Silkaj. Je considère que tu es de bonne foi et de bonne intention. Fred a proposé une MR sur le dépôt, donc pas de souci. Étant l’auteur et le mainteneur du projet Silkaj, je possède le droit d’auteur sur cette œuvre. Les licences libres sont fondées sur le droit d’auteur classique. Après, je suppose que dans les licences libres il est stipulé que s’il y a fork officiel, ce dernier doit changer de nom. Ou du moins ça va de soi. Bon après ça n’est pas le cas ici.
En réalité, je ne suis pas fan que le solde soit consommé via le parsing de ce qu’affiche Silkaj. L’interface est faite pour l’humain. Je fournis aucune garantie qu’elle ne change pas. Un petit changement peut casser votre parsing, comme a surement dû expérimenter Fred par le passé. Passer par une sortie json est une bien meilleure approche. Ça ça concerne la v1 où obtenir le solde nécessite de le calculer, ce qui complique la tâche. En v2, il est plus simple d’obtenir le solde via l’API RPC. Je vous conseille de la récupérer directement dans vos apps via cette API.
Durant le dev talk de novembre, tu te plaignais que je n’avais pas pris en compte tes souhaits d’avoir une sortie json sur Silkaj pour tes besoins. Pour ma part, la sortie json ça n’a pas été très haut dans mes priorités. Il y a déjà eu une tentative d’ajouter la sortie json, mais elle n’a pas abouti, car pas portée jusqu’au bout.
On peut y travailler ensemble. Par contre, tu devras faire des efforts. Sinon, je veux bien m’en occuper en échange d’une rémunération.
Concernant ta MR, je ne peux pas l’accepter en l’état. Elle mélange trop de sujets : sortie json, fonctionnalité de --compta pour ton usage personnel, authentification, correctif transferts en attente, release. De plus, il y a beaucoup de contenu généré par LLM dont je ne souhaite pas me taper la lecture.
Je suis en train de bosser pour sortir la v0.20 qui est compatible avec l’écosystème v2.