You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SmartContracts : convertir SC-06 et la série à l'organe web3_tx, et élargir GUARDED_NOTEBOOKS #23138
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
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.
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).
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_waitlèveTransactionReverted 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.
#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.
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.
[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 »).
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.
Activity
jsboige commentedon Oct 28, 2026
[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)
jsboige commentedon Oct 28, 2026
[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
feat(smartcontracts,#23138): SC-06 a l'organe web3_tx, garde statique…
jsboige commentedon Nov 3, 2026
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'organeweb3_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.exevérifié présent, web3 8.0.0 vérifié). L'élargissement deGUARDED_NOTEBOOKS(scripts/tests/test_web3_tx.py) est différé : main est rouge surScripts 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.jsboige commentedon Nov 3, 2026
[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
mainpar #23162 (merge 2026-10-29,transact_and_waitx18, 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 (helpertransact_and_waitdefini dans sa cellule de setup, sans controle dereceipt["status"], retourtx_hash), + le meme schema dansforge_helper.py(L130), + l'elargissement deGUARDED_NOTEBOOKSque le commentaire du garde lui-meme programmait (« SC-07 rejoint cette liste quand #22877 est mergee »).jsboige commentedon Nov 3, 2026
[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'importweb3_tx,forge_helper.pysuit, et SC-07 rejointGUARDED_NOTEBOOKScomme 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.
jsboige commentedon Nov 4, 2026
[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)
jsboige commentedon Nov 4, 2026
[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.
jsboige commentedon Nov 4, 2026
[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.
jsboige commentedon Nov 4, 2026
[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).