fix(#140): make identity migration atomic with a single batchAll

Fixes #140 (closed)

Changement

Remplace la migration en deux transactions séparées par un seul batchAll[claimUds?, transferAll, changeOwnerKey] atomique.

Avant

  1. batchAll[claimUds?, changeOwnerKey]
  2. batchAll[claimUds?, transferAllowDeath] (transfert des fonds restants)

Après

  1. batchAll[claimUds?, transferAll, changeOwnerKey] — une seule transaction

Pourquoi

  • Runtime 1100 : changeOwnerKey échouera si le nouveau compte est vide (fix duniter-v2s#321). En transférant les fonds d abord, le nouveau compte a toujours des fonds.
  • Atomicité : un crash entre deux transactions pouvait laisser le compte dans un état intermédiaire. Un seul batch = tout migré ou rien.
  • UX simplifiée : plus besoin que le portefeuille cible ait des fonds au préalable → suppression du minBalance et du flow de top-up dans l UI.

Réf: https://forum.duniter.org/t/migrer-un-compte-pourrait-echouer-sur-cesium2-et-g1nkgo-avec-le-runtime-1100/13628

Merge request reports

Loading