Skip to content

SmartContracts : convertir SC-06 et la série à l'organe web3_tx, et élargir GUARDED_NOTEBOOKS #23138

Open

Description

@jsboige

Le constat, mesuré

L'organe MyIA.AI.Notebooks/SymbolicAI/SmartContracts/web3_tx.py (fonction transact_and_wait) a été livré par #22909 pour la classe de défaut « lecture après .transact() sans attente du minage sous anvil ». Il est adopté par GUARDED_NOTEBOOKS = SC-03, SC-04, SC-05, SC-08.

Mesure sur main (2026-10-28, comptage des occurrences dans les cellules code) :

Carnet .transact( directs wait_for_transaction_receipt web3_tx
SC-06 Errors & Events 17 11 (posés à la main) 0
SC-07 Token Standards à mesurer à mesurer 0

SC-06 a reçu six wait_for_transaction_receipt locaux dans #22864, avant que l'organe n'existe. Les onze appels restants n'ont aucune attente. La garde statique test_web3_tx.py ne dit rien de ce carnet : il n'est pas dans GUARDED_NOTEBOOKS, donc il n'est ni couvert ni exempté — il est invisible.

Ce que la conversion doit faire

  1. Remplacer les appels directs par transact_and_wait(w3, fn_call, sender, value=…) dans SC-06, puis dans les carnets restants de la série.
  2. Ajouter chaque carnet converti à GUARDED_NOTEBOOKS — la liste s'élargit, elle ne se referme jamais (commentaire d'en-tête de test_web3_tx.py).
  3. Ré-exécuter les carnets touchés (règle C.2) avec anvil en cours : l'outillage est présent sur les postes (~/.foundry/bin/anvil.exe), il n'est simplement pas sur le PATH.

Le point à ne pas rater

transact_and_wait lève TransactionReverted quand receipt["status"] == 0. Dans SC-06, plusieurs cellules attendent un revert (require qui échoue) : la conversion ne doit pas transformer une sortie pédagogique attendue en exception non rattrapée. Chaque site se relit donc individuellement ; c'est ce qui interdit un remplacement mécanique en masse.

Pourquoi cette issue et pas #22864

#22864 est le balayage pass Solidity plus le correctif de course sur six sites de SC-06. Convertir dix-sept sites et élargir une garde est un autre sujet, avec sa propre ré-exécution. Un sujet par PR.

Part of #21971

Activity

  1. jsboige commented on Oct 28, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2028:CoursIA-2 — convertir SC-06 a l'organe web3_tx (17 .transact()), elargir GUARDED_NOTEBOOKS, re-exec anvil (C.2)

  2. jsboige commented on Oct 28, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2028:CoursIA-2 -- PR #23162 (SC-06 converti a l'organe + GUARDED_NOTEBOOKS ; SC-07 reste, bloque sur #22877) paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/01-Solidity-Foundation/SC-06-*.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py

  3. added a commit that references this issue on Oct 29, 2026
  4. jsboige commented on Nov 3, 2026

    @jsboige
    OwnerAuthor

    Grain: MED/notebook-python — lane myia-po-2028:CoursIA — prev: MED/notebook-python #24453

    [CLAIMED] lane myia-po-2028:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/01-Solidity-Foundation/SC-06-Errors-Events-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/02-Solidity-Advanced/SC-07-Token-Standards-Python.ipynb

    Reprise du claim stale de myia-po-2028:CoursIA-2 (147 h). Périmètre du premier jet : conversion SC-06 (17 sites .transact() à l'organe web3_tx.transact_and_wait, site par site (les cellules qui attendent un revert passent en try/except TransactionReverted), re-exécution complète sous anvil (~/.foundry/bin/anvil.exe vérifié présent, web3 8.0.0 vérifié). L'élargissement de GUARDED_NOTEBOOKS (scripts/tests/test_web3_tx.py) est différé : main est rouge sur Scripts Tests (CPU) (collision search-02b, #24493 en vol) et ai-01 a posé qu'une PR qui touche scripts/ attend — la conversion carnet part seule, la garde suit à déblocage dans sa propre PR.

  5. jsboige commented on Nov 3, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED-AMEND] lane myia-po-2028:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/02-Solidity-Advanced/SC-07-Token-Standards-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/forge_helper.py

    Correction de scope au constat firsthand : SC-06 est deja converti sur main par #23162 (merge 2026-10-29, transact_and_wait x18, 0 .transact( direct) — la mesure « 17 sites » du body datait d'avant cette livraison. Le travail reel restant sur cette issue est SC-07, que le body citait deja : le carnet portait une copie locale de l'organe (helper transact_and_wait defini dans sa cellule de setup, sans controle de receipt["status"], retour tx_hash), + le meme schema dans forge_helper.py (L130), + l'elargissement de GUARDED_NOTEBOOKS que le commentaire du garde lui-meme programmait (« SC-07 rejoint cette liste quand #22877 est mergee »).

  6. jsboige commented on Nov 3, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2028:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/02-Solidity-Advanced/SC-07-Token-Standards-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/forge_helper.py — PR #24524

    Tranche SC-07 : le carnet quitte sa copie locale de l'organe (sans contrôle de receipt["status"]) pour l'import web3_tx, forge_helper.py suit, et SC-07 rejoint GUARDED_NOTEBOOKS comme le garde le programmait. Re-exécution complète sous anvil frais : 10/10 cellules code, 0 erreur ; garde statique 19/19.

    Résiduel mesuré sur l'issue (commentaires retirés) : 48 sites vivants hors garde — SC-02 (8), SC-09 (9), SC-10 (8), SC-11 (3), SC-18 (2), SC-27 (18). L'issue reste ouverte pour ces tranches.

  7. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED-AMEND] lane myia-po-2028:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/00-Foundations/SC-02-Setup-Web3py-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py -- tranche SC-02 : conversion des 8 .transact( directs vers transact_and_wait + elargissement de GUARDED_NOTEBOOKS (re-execution sous anvil incluse)

  8. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2028:CoursIA -- PR #24677 -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/00-Foundations/SC-02-Setup-Web3py-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py -- tranche SC-02 : 8 sites .transact( convertis vers transact_and_wait, GUARDED_NOTEBOOKS elargie, re-execution reelle sous anvil (12/12 cellules, 0 erreur), garde statique 19/19. Restent hors garde : SC-02b, SC-18, SC-27.

  9. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED-AMEND] lane myia-po-2028:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-27-Dette-Irreversibilite-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py -- tranche SC-27 : 18 sites .transact() directs vers transact_and_wait, re-execution anvil complete. Branche empilee sur #24440 (head 34661a1, meme fichier) pour eviter la collision L898.

  10. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2028:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/06-Real-World/SC-27-Dette-Irreversibilite-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/SmartContracts/test_web3_tx.py -- PR #24682 (tranche SC-27 : 18 sites, garde elargie, re-exec anvil 12/12). Residuel : ~22 sites (SC-09, SC-10, SC-11).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions