Files
khadhroony-bobobot/docs/prompts/NEXT_SESSION_PROMPT_0.7.47_1FE5_CONTINUATION_V2.md
2026-06-15 20:16:27 +02:00

4.5 KiB
Raw Permalink Blame History

Prompt de reprise — khadhroony-bobobot 0.7.47-1FE5

Reprise du projet khadhroony-bobobot.

Archive de départ

Utiliser comme base de travail :

kb_lib-v0.7.47-1FE5-full.zip

Joindre aussi les docs mises à jour :

README.md
ROADMAP.md
CHANGELOG.md
docs/DEX_DECODER_MATRIX.md

Décision de planification

Ne plus tenter “tous les events de tous les decoders” dans une seule session. Lobjectif reste de couvrir tous les decoders disponibles dans Carbon et les sources Git/IDL, mais par tranches DEX/version.

Ordre cible :

raydium_cpmm
raydium_clmm
pump_swap
pump_fun
meteora_dbc
meteora_dlmm
meteora_damm_v1
meteora_damm_v2
phoenix_v1
openbook_v2
orca_whirlpools
launch surfaces
DEX historiques / candidats

Sources upstream obligatoires

Ces sources sont des indices de décodage, pas des preuves de validation locale :

https://github.com/sevenlabs-hq/carbon/tree/main/decoders
https://github.com/0xfnzero/solana-streamer
https://github.com/0xfnzero/sol-parser-sdk/tree/main/idl
https://github.com/pinax-network/substreams-solana-idls/tree/main/src
https://github.com/hodlwarden/solana-tx-parser/tree/main/src
https://github.com/openbook-dex/openbook-v2
https://github.com/all-in-one-blockchain/phoenix-onchain-mm
https://docs.vybenetwork.com/docs/available-dexs-amms

État validé

Dernier état validé côté kb_lib :

cargo test -p kb_lib
371 passed

Clippy doit être relancé à chaque tranche :

cargo clippy -p kb_lib --all-targets -- -D warnings

0.7.47 acquis

  • Upstream Git Registry ajouté.
  • Demo3 étendu : multi-target, multi-source, pagination, orderbook targets, burn/mint/transfer/wrap/unwrap/stake.
  • Demo2 backfill signature fonctionnel.
  • Replay local avec ledger.
  • OpenBook v2 decoder audit-only.
  • Phoenix v1 decoder audit-only.
  • Les decoders audit-only ne produisent aucun trade/candle.

OpenBook v2

Program id :

opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb

État :

audit-only local decoder
upstream_git fallback cleaned
Program data mapped:
- FillLog
- OpenOrdersPositionLog
- TotalOrderFillEvent
- SettleFundsLog
trade_count = 0

Ne pas activer de trade/candle tant que maker/taker/base/quote et les lots ne sont pas validés.

Phoenix v1

Program id :

PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY

État :

audit-only local decoder
log instruction strict 0x0f
events observed:
- Reduce
- Place
- TimeInForce
currentInstructionTag mappings:
- 0x09 CancelUpToWithFreeFunds
- 0x0c WithdrawFunds
- 0x10 PlaceMultiplePostOnlyOrders
trade_count = 0

Prochaine action préférée : finir Phoenix v1 avec tous les events disponibles dans les sources Git/IDL, mais rester audit-only jusquà validation économique.

Contraintes

  • Rust 2024.
  • Pas de mod.rs.
  • Fichiers Rust avec entête // file: ....
  • Exposition centralisée via lib.rs.
  • #![deny(unreachable_pub)], #![warn(missing_docs)].
  • Pas de anyhow.
  • Pas de thiserror.
  • Pas de ?, unwrap, expect dans le code applicatif.
  • Utiliser match, if let Err, let Err = ... else.
  • Si une requête DB est ajoutée/modifiée, mettre à jour kb_lib/src/db.rs, puis kb_lib/src/lib.rs si nécessaire.

Méthode par DEX/version

Pour chaque DEX/version :

  1. inspecter Carbon + autres sources Git/IDL ;
  2. lister tous les discriminants instructions/events ;
  3. compléter upstream_registry / matrice si nécessaire ;
  4. utiliser Demo3 pour corpus ;
  5. backfill Demo2 ;
  6. replay forcé ;
  7. valider SQL ;
  8. ajouter decoder audit-only ou materialized selon preuve ;
  9. supprimer les doublons upstream_git.instruction_match si decoder spécialisé ;
  10. ne jamais produire trade/candle sans montants exploitables et sens économique validé.

Requêtes de sécurité audit-only

SELECT
    de.protocol_name,
    de.event_kind,
    COUNT(te.id) AS trade_count
FROM k_sol_dex_decoded_events de
LEFT JOIN k_sol_trade_events te
    ON te.decoded_event_id = de.id
WHERE de.protocol_name IN ('openbook_v2', 'phoenix_v1')
GROUP BY de.protocol_name, de.event_kind
ORDER BY trade_count DESC;

Attendu :

trade_count = 0

Livrable attendu

Pour chaque tranche :

  • fichiers ajoutés/modifiés seulement ;
  • archive zip ;
  • commandes de test ;
  • requêtes SQL ;
  • notes sur ce qui reste non vérifié ;
  • ne pas prétendre quun event ou program id est vérifié sans corpus local.