feat: upgrade to v1.1.0

This commit is contained in:
ysq
2025-11-06 23:20:52 +08:00
parent ed290a5a69
commit 3a9fed4a9c
5 changed files with 31 additions and 31 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "solana-streamer-sdk"
version = "1.0.0"
version = "1.1.0"
edition = "2021"
authors = ["William <byteblock6@gmail.com>", "sgxiang <sgxiang@gmail.com>", "wei <1415121722@qq.com>"]
repository = "https://github.com/0xfnzero/solana-streamer"
+11 -11
View File
@@ -1,4 +1,4 @@
# Migration Guide: v0.5.x to v1.0.0
# Migration Guide: v0.5.x to v1.x.x
## Overview
@@ -11,7 +11,7 @@ Version 1.0.0 introduces a significant architectural improvement by transitionin
## Breaking Changes Summary
| Component | v0.5.x | v1.0.0 |
| Component | v0.5.x | v1.x.x |
| ------------------ | --------------------------- | --------------------------- |
| Event Type | `Box<dyn UnifiedEvent>` | `DexEvent` (enum) |
| Callback Signature | `Fn(Box<dyn UnifiedEvent>)` | `Fn(DexEvent)` |
@@ -33,7 +33,7 @@ let callback = |event: Box<dyn UnifiedEvent>| {
};
```
**After (v1.0.0):**
**After (v1.x.x):**
```rust
use solana_streamer_sdk::streaming::event_parser::DexEvent;
@@ -60,7 +60,7 @@ match_event!(event, {
});
```
**After (v1.0.0):**
**After (v1.x.x):**
```rust
match event {
@@ -85,7 +85,7 @@ let slot = event.slot();
let protocol = event.protocol();
```
**After (v1.0.0):**
**After (v1.x.x):**
```rust
let event_type = event.metadata().event_type;
@@ -111,7 +111,7 @@ use solana_streamer_sdk::{
};
```
**After (v1.0.0):**
**After (v1.x.x):**
```rust
use solana_streamer_sdk::streaming::event_parser::{
@@ -183,7 +183,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
}
```
### After (v1.0.0)
### After (v1.x.x)
```rust
use solana_streamer_sdk::streaming::{
@@ -241,7 +241,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
### Pattern 1: Event Filtering with Match
**v1.0.0:**
**v1.x.x:**
```rust
let callback = |event: DexEvent| {
@@ -260,7 +260,7 @@ let callback = |event: DexEvent| {
### Pattern 2: Generic Event Processing
**v1.0.0:**
**v1.x.x:**
```rust
fn process_event(event: DexEvent) {
@@ -282,7 +282,7 @@ fn process_event(event: DexEvent) {
### Pattern 3: Event Type Categorization
**v1.0.0:**
**v1.x.x:**
```rust
fn categorize_event(event: &DexEvent) -> &'static str {
@@ -319,7 +319,7 @@ parser.parse_encoded_confirmed_transaction_with_status_meta(
).await?;
```
**After (v1.0.0):**
**After (v1.x.x):**
```rust
EventParser::parse_encoded_confirmed_transaction_with_status_meta(
+11 -11
View File
@@ -1,4 +1,4 @@
# 迁移指南:v0.5.x 到 v1.0.0
# 迁移指南:v0.5.x 到 v1.x.x
## 概述
@@ -11,7 +11,7 @@
## 破坏性变更摘要
| 组件 | v0.5.x | v1.0.0 |
| 组件 | v0.5.x | v1.x.x |
|-----------|--------|--------|
| 事件类型 | `Box<dyn UnifiedEvent>` | `DexEvent`(枚举) |
| 回调签名 | `Fn(Box<dyn UnifiedEvent>)` | `Fn(DexEvent)` |
@@ -32,7 +32,7 @@ let callback = |event: Box<dyn UnifiedEvent>| {
};
```
**之后 (v1.0.0):**
**之后 (v1.x.x):**
```rust
use solana_streamer_sdk::streaming::event_parser::DexEvent;
@@ -57,7 +57,7 @@ match_event!(event, {
});
```
**之后 (v1.0.0):**
**之后 (v1.x.x):**
```rust
match event {
DexEvent::PumpFunTradeEvent(e) => {
@@ -80,7 +80,7 @@ let slot = event.slot();
let protocol = event.protocol();
```
**之后 (v1.0.0):**
**之后 (v1.x.x):**
```rust
let event_type = event.metadata().event_type;
let signature = event.metadata().signature;
@@ -104,7 +104,7 @@ use solana_streamer_sdk::{
};
```
**之后 (v1.0.0):**
**之后 (v1.x.x):**
```rust
use solana_streamer_sdk::streaming::event_parser::{
DexEvent,
@@ -175,7 +175,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
}
```
### 之后 (v1.0.0)
### 之后 (v1.x.x)
```rust
use solana_streamer_sdk::streaming::{
@@ -233,7 +233,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
### 模式 1:使用 Match 进行事件过滤
**v1.0.0:**
**v1.x.x:**
```rust
let callback = |event: DexEvent| {
// 只处理特定事件类型
@@ -251,7 +251,7 @@ let callback = |event: DexEvent| {
### 模式 2:通用事件处理
**v1.0.0:**
**v1.x.x:**
```rust
fn process_event(event: DexEvent) {
let metadata = event.metadata();
@@ -272,7 +272,7 @@ fn process_event(event: DexEvent) {
### 模式 3:事件类型分类
**v1.0.0:**
**v1.x.x:**
```rust
fn categorize_event(event: &DexEvent) -> &'static str {
match event {
@@ -307,7 +307,7 @@ parser.parse_encoded_confirmed_transaction_with_status_meta(
).await?;
```
**之后 (v1.0.0):**
**之后 (v1.x.x):**
```rust
EventParser::parse_encoded_confirmed_transaction_with_status_meta(
&protocols,
+4 -4
View File
@@ -109,19 +109,19 @@ Add the dependency to your `Cargo.toml`:
```toml
# Add to your Cargo.toml
solana-streamer-sdk = { path = "./solana-streamer", version = "1.0.0" }
solana-streamer-sdk = { path = "./solana-streamer", version = "1.1.0" }
```
### Use crates.io
```toml
# Add to your Cargo.toml
solana-streamer-sdk = "1.0.0"
solana-streamer-sdk = "1.1.0"
```
## 🔄 Migration Guide
### Migrating from v0.5.x to v1.0.0
### Migrating from v0.5.x to v1.x.x
Version 1.0.0 introduces a major architectural change from trait-based event handling to enum-based events. This provides better type safety, improved performance, and simpler code patterns.
@@ -142,7 +142,7 @@ let callback = |event: Box<dyn UnifiedEvent>| {
println!("Event: {:?}", event.event_type());
};
// New (v1.0.0)
// New (v1.x.x)
let callback = |event: DexEvent| {
println!("Event: {:?}", event.metadata().event_type);
};
+4 -4
View File
@@ -108,19 +108,19 @@ git clone https://github.com/0xfnzero/solana-streamer
```toml
# 添加到您的 Cargo.toml
solana-streamer-sdk = { path = "./solana-streamer", version = "1.0.0" }
solana-streamer-sdk = { path = "./solana-streamer", version = "1.1.0" }
```
### 使用 crates.io
```toml
# 添加到您的 Cargo.toml
solana-streamer-sdk = "1.0.0"
solana-streamer-sdk = "1.1.0"
```
## 🔄 迁移指南
### 从 v0.5.x 迁移到 v1.0.0
### 从 v0.5.x 迁移到 v1.x.x
版本 1.0.0 引入了从基于 trait 的事件处理到基于 enum 的事件的重大架构变更。这提供了更好的类型安全性、改进的性能和更简单的代码模式。
@@ -141,7 +141,7 @@ let callback = |event: Box<dyn UnifiedEvent>| {
println!("Event: {:?}", event.event_type());
};
// 新版 (v1.0.0)
// 新版 (v1.x.x)
let callback = |event: DexEvent| {
println!("Event: {:?}", event.metadata().event_type);
};