1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//! Enhanced Transactions — Helius's opinionated per-tx classifier.
//!
//! Helius's enhanced-transactions product returns a structured wrapper
//! around each transaction: `type` (e.g. `NFT_MINT`, `TRANSFER`),
//! `source` (e.g. `METAPLEX`, `BUBBLEGUM`), `nativeTransfers`,
//! `tokenTransfers`, and a few other normalized fields. Real Helius
//! has dozens of program-specific parsers (Jupiter, Raydium, Meteora,
//! Candy Machine, Marinade, …). Recreating that catalog locally is a
//! multi-week engagement.
//!
//! Our v1 scope is deliberately narrow:
//!
//! - **Classification** covers the handful of program IDs we already
//! know how to reason about: System Program, SPL Token, Token-2022,
//! Bubblegum (V1 + V2), Metaplex Token Metadata, MplCore. Anything
//! else yields `type: "UNKNOWN"` / `source: "UNKNOWN"` rather than
//! fabricating a misleading classification.
//!
//! - **Transfer extraction** uses the tx meta's `preBalances` /
//! `postBalances` + `preTokenBalances` / `postTokenBalances` to
//! derive native-SOL and SPL-Token movements without running full
//! instruction-level parsers.
//!
//! - The `events` sub-object, `description`, and SWAP/STAKE/DEFI
//! specialized breakouts are **not** populated — those depend on
//! program-specific parsers we don't ship yet.
//!
//! Consumers that need full parity should continue hitting real
//! Helius for Enhanced Transactions; Tidepool's value is local-first
//! DAS + cNFT state. The module exists primarily so
//! `helius.enhanced.getTransactions(...)` doesn't return
//! METHOD_NOT_FOUND — users get a structurally-valid response with
//! the fields we can reliably produce.
pub use ;
pub use enrich_token_standards;
pub use derive_nft_event;
pub use ;
pub use ;
pub use ;
pub use ;