Files
khadhroony-bot3/migration/khadhroony-bot2-reference/kb_materializer_staking
2026-07-23 16:37:12 +02:00
..
2026-07-23 16:37:12 +02:00
2026-07-23 16:37:12 +02:00
2026-07-23 16:37:12 +02:00

kb_materializer_staking

Ce crate produit des projections instructionnelles stables pour les observations natives Stake et Vote décodées par kb_decoder_solana_core.

Statut

0.4.1-pre.021 active le matérialiseur sous l'identité :

solana_native_staking

Le matérialiseur est enregistré par kb_app_demo::demo_decode_replay avec les autres matérialiseurs natifs. Il applique SuccessfulCommittedOnly : une transaction échouée ou une observation non commitée reste décodable, mais ne produit aucune sortie métier mutable.

Surfaces couvertes

Stake Program

Les projections sont instructionnelles et ne prétendent pas reconstruire l'état final du compte Stake.

Domaine Entrées
stake_account initialize, initialize_checked, delegate_stake, deactivate, deactivate_delinquent
stake_value split, withdraw, merge, move_stake, move_lamports
stake_authority authorize, authorize_with_seed, authorize_checked, authorize_checked_with_seed
stake_lockup set_lockup, set_lockup_checked

redelegate reste ignoré : l'instruction est conservée par le décodeur comme intention historique officiellement désactivée, mais elle ne doit pas produire une mutation staking réussie.

Vote Program

Domaine Entrées
vote_account initialize_account, initialize_account_v2
vote_authority authorize, authorize_checked, authorize_with_seed, authorize_checked_with_seed
vote_admin update_validator_identity, update_commission, update_commission_collector, update_commission_bps
vote_state vote, vote_switch, update_vote_state, update_vote_state_switch, compact_update_vote_state, compact_update_vote_state_switch, tower_sync, tower_sync_switch
vote_value withdraw
vote_reward deposit_delegator_rewards

deposit_delegator_rewards produit une sortie de famille Reward; les autres sorties produisent une famille matérialisée Staking.

Limites explicites

Le crate ne reconstruit pas :

  • activation/désactivation effective d'un stake par epoch ;
  • crédits Vote cumulés ;
  • statut final exact d'un compte après withdraw ;
  • état antérieur et état suivant du compte ;
  • sysvars historiques non portées par le core replay.

Ces projections doivent donc être lues comme des événements instructionnels commités. Les snapshots d'état final seront un futur contrat distinct lorsque le replay core transportera les données de comptes et sysvars nécessaires.