ysq
5acf69714d
feat: add EventSource enum and optimize event processing threads
...
- Introduce EventSource enum (Grpc, Shred) for better event source management
- Refactor start_block_processing_thread to conditionally spawn threads based on source type
- Update callers to specify event source type
2025-09-19 23:17:50 +08:00
ysq
6af26232a0
docs: Update Readme
2025-09-17 00:44:50 +08:00
ysq
674465548b
refactor(event_parser): optimize instruction parsing with better error handling
...
- Fix borrowing conflicts and boundary conditions
- Improve accounts array expansion logic
- Refactor inner instruction processing flow
2025-09-15 22:44:47 +08:00
ysq
4dd19d6ca1
feat: upgrade to v0.4.11
2025-09-15 00:01:07 +08:00
ysq
317e990ed2
feat: upgrade to v0.4.10
2025-09-14 23:26:21 +08:00
ysq
7aad371076
Merge commit 'b577d115d65b39993060c32e9c7eeda0c82137c7'
2025-09-14 01:13:32 +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
sgxiang
b577d115d6
Update README.md
2025-09-13 21:10:29 +08:00
ysq
9c311f63c1
refactor: migrate from slot-based to signature-based global state
...
Replace slot-based storage with signature-based storage in GlobalState
for improved transaction-level precision and developer address tracking.
- Update GlobalState structure and APIs
- Modify event processors to use transaction signatures
- Maintain lock-free performance characteristics
2025-09-13 17:10:58 +08:00
sgxiang
cdb3f2aeed
Merge pull request #32 from ioxde/fix/maintain-transaction-order
...
Maintain correct transaction event order
2025-09-13 15:17:25 +08:00
ysq
3cfc85ea9d
feat: add Bonk Token2022 initialization support
...
Add support for Token2022 standard in Bonk protocol event parsing,
including new event type, discriminator, and instruction parser.
2025-09-13 00:13:17 +08:00
sgxiang
dcbff09cca
Merge pull request #31 from ioxde/fix/failed-pump-fun-migrations
...
Skip duplicate/failed PumpFun migration events
2025-09-12 22:33:43 +08:00
ysq
5e6976366b
feat: optimize SIMD validation in event parser
...
- Use correct discriminator length in validation
- Replace slice comparison with SIMD-optimized discriminator matching
- Improve instruction data validation performance
2025-09-12 21:36:30 +08:00
sgxiang
ee3f63746c
Merge pull request #33 from ioxde/fix/pump-fun-migration-event-data
...
Add discriminator validation for inner instructions
2025-09-12 21:31:20 +08:00
ysq
26dc717cd7
docs: Update Readme
2025-09-10 23:39:16 +08:00
ysq
7de075d771
docs: Update Readme
2025-09-10 23:26:20 +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
304c943d79
docs: Update Readme
2025-09-10 17:35:48 +08:00
ysq
9a48c6cbfb
docs: Update Readme
2025-09-10 17:17:03 +08:00
ysq
d955cec83f
feat: upgrade to v0.4.5
2025-09-10 11:54:59 +08:00
ysq
e3b763f0ca
feat: upgrade to v0.4.4
2025-09-10 10:50:33 +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
ioxde
09645ac290
fix(event_parser): add discriminator validation for inner instruction parsing
2025-09-08 20:53:16 -07:00
ioxde
285c2ac966
fix(event_parser): process inner instructions immediately to maintain correct transaction event order
2025-09-08 20:31:18 -07:00
ioxde
8ec1457858
feat(event_parser): add requires_inner_instruction field to skip incomplete events
...
- Add requires_inner_instruction field to GenericEventParseConfig
- Skip events that require but lack inner instruction data during processing
- Set PumpFun migrate events to require inner instructions (prevents parsing failed migrations)
2025-09-08 20:19:13 -07:00
ysq
d219433466
Merge commit '4902c34bfabf081c614065f788b9bd4e649731b6'
2025-09-03 17:33:06 +08:00
ysq
4902c34bfa
feat: add common account event parser with SPL token support
2025-09-03 17:19:35 +08:00
ysq
1060b04b12
refactor: simplify event API method names for better ergonomics
...
- Rename verbose method names to shorter, clearer alternatives
- program_received_time_us() → recv_us()
- program_handle_time_consuming_us() → handle_us()
- instruction_outer_index() → outer_index()
- instruction_inner_index() → inner_index()
- Update all implementations across event parsers and processors
Improves developer experience while maintaining semantic clarity.
2025-09-03 15:49:50 +08:00
ysq
7601eb370c
perf: optimize event processing and add gRPC instruction parsing
2025-09-03 15:29:57 +08:00
ysq
b71a83bf66
perf: add object pooling and enhanced metrics for streaming optimization
...
- Implement gRPC/shred connection pools for memory efficiency
- Add atomic processing time stats with auto-calibration clock
- Optimize event parsers and protocol handlers
- Refactor metrics system for advanced performance monitoring
2025-09-02 17:27:27 +08:00
ysq
07bb110dc0
feat: upgrade to v0.4.0
2025-08-31 22:26:35 +08:00
ysq
ec70383d89
Merge commit '74781e5cbe6f48877ea564e4ae9da6ec51282b16'
2025-08-31 22:25:47 +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
sgxiang
ab0200c2ec
Merge pull request #29 from ioxde/feature/dynamic-subscriptions
...
feat: add dynamic subscription management with runtime filter updates
2025-08-29 15:23:00 +08:00
ysq
b535bdf052
perf: Major event processing system refactor for improved performance
2025-08-29 14:59:16 +08:00
ysq
218abd3aa4
perf: Major event processing system refactor for improved performance
2025-08-28 14:49:56 +08:00
ysq
9ea4dab4df
perf: Major event processing system refactor for improved performance
2025-08-27 21:31:31 +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
e673b0aab8
Merge commit '86b6591b369a220f1a39078ef2a71939d7a2b812' into perf/improve
2025-08-26 23:04:37 +08:00
ysq
dee683396d
perf: Refactor event processing system for better performance
2025-08-26 17:57:39 +08:00
sgxiang
86b6591b36
Merge pull request #28 from vnxfsc/main
...
feat: 添加交易索引功能支持
2025-08-25 11:25:46 +08:00
vnxfsc
c3d599acd5
feat: 添加交易索引功能支持
...
- 为 TransactionPretty 添加 transaction_index 字段
- 从 Yellowstone gRPC 的 SubscribeUpdateTransaction.transaction.index 提取交易索引
- 为 EventMetadata 添加 transaction_index 字段用于存储交易在 slot 中的索引
- 为 UnifiedEvent trait 添加 transaction_index() 和 set_transaction_index() 方法
- 更新事件处理器以传递交易索引到事件元数据
- 更新主程序日志以显示交易索引信息
交易事件现在包含它们在 slot 中的索引位置,账户事件由于 gRPC 协议限制保持为 None
2025-08-25 00:37:31 +08:00
ysq
f87f3dd7f3
feat: update PumpSwap event parser with token program fields
2025-08-24 23:14:51 +08:00
ysq
a1a453fe05
feat(bonk): Enhanced Bonk protocol event parsing support
...
- Updated BonkTradeEvent struct with new fields: global_config, platform_config, system_program, platform_associated_account, and creator_associated_account
- Modified account parsing logic in parser to support the new account fields
- Updated account count check from 11 to 18 to accommodate the new protocol structure
- Bumped version from 0.3.8 to 0.3.9
2025-08-22 21:21:08 +08:00
ysq
e6912a8915
fix: Upgrade to v0.3.8 and fix parsing security issues
...
- Upgrade to version 0.3.8
- Add data length validation to prevent out-of-bounds access
- Fix boundary check issues in all protocol parsers
2025-08-22 17:58:57 +08:00
ysq
92fd3ad5f4
feat: upgrade to v0.3.7
2025-08-22 15:19:11 +08:00
ysq
9ec7194d2a
feat: add subscription management and graceful shutdown support (v0.3.6)
...
- Add SubscriptionHandle for managing stream lifecycle
- Implement graceful shutdown with stop() methods
- Update documentation with new features
- Bump version to 0.3.6
2025-08-21 15:47:31 +08:00