2.0 KiB
kb_materializer_token_accounts
Ce crate matérialise les mutations instructionnelles commitées du programme SPL Token classique et le lifecycle d'adresses associées ATA dans le journal générique kb_sol_mat_events.
Projections actives
- initialisations de mint et de compte ;
- transferts, approvals/revocations, mint et burn ;
- freeze/thaw et close ;
SyncNative,InitializeImmutableOwner,WithdrawExcessLamportsetUnwrapLamports.ata_createdpourCreate;ata_created_or_reused_idempotentlypourCreateIdempotent, sans inventer laquelle des deux branches s'est produite ;nested_ata_recoveredpourRecoverNested, avec wallet, mints, trois ATA et Token Program classique ou Token-2022.
Chaque sortie conserve signature, slot, chemin, comptes, autorité, mint lorsqu'il est explicite, montant brut en chaîne et decimals présents dans le wire. Le matérialiseur utilise SuccessfulCommittedOnly et refuse toute transaction échouée.
Limites et déduplication
La projection décrit une mutation d'instruction, jamais le snapshot final du compte. Elle ne recopie pas les changements de balances core. Le parent ATA possède uniquement le lifecycle de l'adresse associée ; les CPI SPL Token conservent la propriété exclusive des initialisations, transferts et fermetures de comptes. Le parent Batch, les conversions amount/UI amount, set_authority et la configuration multisig sont laissés respectivement aux enfants, au decode et au matérialiseur admin.
Corpus validé
Le replay Mainnet du 15 juillet 2026 a produit 362 sorties token_account et neuf constats risk
depuis 370 instructions décodées. Les huit refus de matérialisation correspondent exactement à des
transactions échouées ; aucune sortie non commitée, aucun parent Batch dupliqué et aucun faux frais
classique n'ont été persistés. Un second replay sans force a sélectionné zéro entrée.