37 Commits

Author SHA1 Message Date
0xfnzero f1c6aecb3d fix(pumpswap): preserve upgraded event fields 2026-07-17 03:04:10 +08:00
0xfnzero 8aa1df3115 test: sync PumpFun quote signature cases 2026-06-13 00:22:40 +08:00
0xfnzero 04d7f7b520 test: sync PumpFun quote case examples 2026-06-12 23:55:30 +08:00
0xfnzero e3249703a5 fix: add PumpFun quote case parser example 2026-06-12 22:22:40 +08:00
0xfnzero 83c5476ff3 Release v1.5.5 parser SDK sync 2026-06-01 20:20:01 +08:00
0xfnzero 741778a82f examples: update for SDK-backed streamer API 2026-05-15 07:46:29 +08:00
0xfnzero ab84249f4a feat: bridge streamer to sol-parser-sdk 2026-05-15 05:09:29 +08:00
Wood 766899deb6 Merge pull request #64 from Estereg/main
refactor: modernize stack and migrate to std primitives
2026-03-09 00:21:53 +08:00
Wood ba058c53e1 docs: update example table in README/README_CN; add parse/debug/grpc examples (PumpFun, PumpSwap, Meteora DAMM)
Made-with: Cursor
2026-03-08 23:11:11 +08:00
Estereg 0c369e23a8 refactor: modernize dependency stack and minimize footprint
- Migrate to native 'std::sync' primitives (LazyLock, OnceLock, RwLock).
- Replace 'parking_lot' with std library synchronization types.
- Switch from 'chrono' to 'std::time::SystemTime' for lightweight timestamps.
- Bump core dependencies: tokio (1.50.0) and rustls (0.23.37).
- Decouple 'solana-program' by utilizing 'solana-sdk' re-exports.
- Prune redundant crates: lazy_static, once_cell, chrono, maplit, and parking_lot.
- Remove unused dev-dependencies (criterion) and example-only utils (env_logger).
- Improve compile times and reduce supply chain attack surface.
2026-03-07 06:44:42 +00:00
Wood 7270372604 feat(shred): tx_index, Migrate without CPI, merge fix, doc limits
- Add tx_index to TransactionWithSlot (entry index), pass to parser
- Emit PumpFun Migrate even when no CPI (shred gets instruction-only)
- Merge: only overwrite Create/CreateV2 with CPI when value non-default
- Rename transaction_index -> tx_index across codebase
- Add docs/SHREDSTREAM_LIMITATIONS.md (ALT/CPI limits, field completeness)
- Comment shred path: static_account_keys only, no inner_instructions

Made-with: Cursor
2026-03-07 12:35:57 +08:00
Estereg 8659d5eb96 Revert "Feat/dlmm account" 2025-12-09 21:22:21 -03:00
zhaoguojie2010 66e7977897 fix raydium clmm bitmap extension account disc & support whirlpool account event 2025-11-30 21:32:51 +08:00
zhaoguojie2010 511fea0499 add meteora dlmm account event 2025-11-27 23:22:06 +08:00
ysq ad3a54625c feat: add Meteora DAMM v2 protocol support 2025-11-10 00:38:23 +08:00
ysq 819b71ce1f refactor: unify event parsing API with callback ownership transfer 2025-11-04 22:49:40 +08:00
ysq 4c0e29865f refactor: replace static CONFIGS with dynamic event dispatcher 2025-11-03 23:58:19 +08:00
ysq f85581ec61 refactor: upgrade to v1.0.0 with enum-based event architecture 2025-10-12 22:38:50 +08:00
ysq fd180935f8 refactor: rename UnifiedEvent to DexEvent 2025-10-12 22:00:15 +08:00
ysq e21f2cfd17 refactor: convert EventParser to static methods and optimize caching
- Replace instance-based EventParser with static method design
  - Introduce ParserCache module for protocol config caching
  - Simplify EventProcessor to pure functional handlers
  - Optimize metrics: remove min/max tracking, keep last + avg only
  - Reduce atomic operations in hot path for better performance
2025-10-12 17:20:50 +08:00
ysq 312a675a40 refactor: restructure event handling from trait objects to enum pattern
- Convert UnifiedEvent from trait object (Box<dyn UnifiedEvent>) to concrete enum type
  - Remove match_event! macro in favor of native match expressions
  - Simplify event metadata access: event.event_type() -> event.metadata().event_type
  - Unify event callback signatures: Fn(Box<dyn UnifiedEvent>) -> Fn(UnifiedEvent)
  - Update all example code to use the new enum-based event system
  - Optimize type system to reduce runtime overhead and improve type safety

  Affected scope:
  - Core event parser and processor
  - All protocol event definitions (PumpFun, PumpSwap, Bonk, Raydium series, etc.)
  - gRPC and Shred streaming modules
  - All example code
2025-10-10 18:19:44 +08:00
ysq bb927628b2 feat: upgrade to Solana SDK v3.0.0 and
modernize dependencies

  - Upgrade all Solana SDK dependencies
  from v2.3.x to v3.0.0
  - Update yellowstone-grpc dependencies
   from v8.0.0 to v9.0.0
  - Upgrade tonic from v0.12.3 to
  v0.14.2 with transport features
  - Update prost and prost-types to
  v0.14.1
  - Add solana-commitment-config and
  tonic-prost dependencies
  - Migrate from solana-sdk::instruction
   to message::compiled_instruction
  - Update imports for SPL token pack
  compatibility
  - Fix type compatibility issues with
  new gRPC and protobuf versions
  - Regenerate proto files with updated
  codegen and server implementations
2025-09-26 23:59:06 +08:00
ysq a76563314f refactor: overhaul event parser architecture for better performance
- Centralize event parsing logic and remove factory pattern
- Add high-performance clock module to reduce latency
- Consolidate protocol parsers with unified interface
- Introduce account pubkey caching and streamline traits
- Remove deprecated macro-based and multi-protocol implementations
2025-09-14 01:13:11 +08:00
ysq 26dc717cd7 docs: Update Readme 2025-09-10 23:39:16 +08:00
ysq 5ea536bef6 feat: refactor subscription API with multi-filter support
- Support multiple transaction/account filters as vectors
- Add Token2022 extended state parsing
- Add pumpswap pool monitoring example
- Enhance AccountFilter with memcmp filters

BREAKING CHANGE: API signature changes for subscription methods
2025-09-10 23:21:08 +08:00
ysq 0c07c4d9ee refactor: enhance account event parser with more precise event classification
- Rename CommonAccountEvent to TokenAccountEvent for better semantic clarity
- Rename AccountNonce to NonceAccount for consistent naming convention
- Add MintInfoEvent type to support SPL Token Mint account parsing
- Enhance parse_token_account_event to automatically detect and parse Mint accounts
- Update all example code to use new event types and structures
- Improve event type semantics for better developer experience
2025-09-09 23:42:35 +08:00
ysq 528003a688 feat(examples): add nonce and token balance monitoring capabilities
- feat(examples): add nonce_listen_example for nonce account tracking
- feat(examples): add token_balance_listen_example for balance monitoring
- feat(parser): implement NonceAccountEvent with nonce state parsing
- feat(types): add AccountNonce event type to filtering system
- docs: update README with new monitoring examples
- chore: bump version to 0.4.2
2025-09-09 21:24:21 +08:00
ysq 2e8c0a1ee5 refactor: separate examples and improve docs
- Split main.rs into focused grpc_example.rs and shred_example.rs
- Add example overview table and dynamic subscription docs
- Improve documentation structure and user experience
2025-09-09 18:21:26 +08:00
ysq 74781e5cbe perf: implement SIMD-accelerated event processing and optimize streaming performance
- Add SIMD utilities for fast byte array comparison and discriminator matching
- Optimize event processor with batch processing and memory pool
- Refactor global state management with concurrent data structures
- Remove deprecated batch processing module
- Enhance metrics collection with reduced overhead
- Improve parser efficiency across all protocol implementations
- Add performance benchmarking dependencies (criterion, wide)
- Update documentation and examples for new architecture

Performance improvements:
- SIMD-accelerated byte operations for instruction parsing
- Concurrent HashMap (DashMap) for better multi-threading
- Optimized memory allocation patterns
- Reduced lock contention in event processing pipeline

Breaking changes: Removed batch.rs module, updated parser interfaces
2025-08-31 22:18:18 +08:00
ysq 52a489ae80 Merge commit 'ab0200c2ec7e7ed76afafc5cfa8440f61052d0fb' into perf/improve 2025-08-29 16:45:22 +08:00
ysq b535bdf052 perf: Major event processing system refactor for improved performance 2025-08-29 14:59:16 +08:00
ioxde 1e6841149d feat: add dynamic subscription management with runtime filter updates
- Add update_subscription() for runtime filter updates without reconnection
  - BREAKING: Return subscription request from subscribe_with_request()
  - Implement Default trait for EventTypeFilter
  - Add comprehensive dynamic_subscription example
2025-08-26 19:07:13 -07:00
ysq dee683396d perf: Refactor event processing system for better performance 2025-08-26 17:57:39 +08:00
ysq ea7ecd1d0c feat: enhance event filtering and monitoring system
- Add EventTypeFilter for precise event type filtering
- Refactor metrics to track events by type (tx/account/block)
- Add parser caching for improved performance
- Enhance gRPC subscription management
- Update examples and type definitions
2025-08-16 14:48:51 +08:00
ysq aee8921ad5 feat: Add account event parser and protocol type definitions
- Add account event parser (account_event_parser.rs) for account-level event handling
- Introduce type definitions for pumpfun, pumpswap, raydium_amm_v4, raydium_clmm, raydium_cpmm protocols
- Enhance event processor to support account event processing alongside transactions
- Improve subscription system with separate transaction and account filters
- Optimize parser configuration using Option types for cleaner code structure
- Update examples and documentation to reflect new capabilities

Changes include:
- 6 new types.rs files for protocol-specific data structures
- Updated event processor for account, transaction, and block meta events
- Refactored subscription manager with account filtering support
- Enhanced metrics and batch processing logic
2025-08-13 23:30:59 +08:00
ysq 8e3d64a09c feat: Add Raydium AMM V4 support and enhance protocol parsers
- Add complete Raydium AMM V4 protocol integration
- Enhance PumpFun, CLMM, CPMM event parsing
- Refactor parser architecture for better extensibility
- Update documentation and examples
2025-08-11 22:02:09 +08:00
ysq 97faba9406 feat: Major refactor with batch processing and performance optimization
- Refactor streaming architecture with modular grpc components
- Add batch processing system with backpressure strategies
- Implement performance monitoring and metrics collection
- Add multi-protocol parser with block metadata support
- Enhance configuration system with preset profiles
- Add parse_tx_events example and update documentation
- Optimize yellowstone_grpc client complexity
2025-08-11 01:04:16 +08:00