Commit Graph
35 Commits
Author SHA1 Message Date
0xfnzero 8f2f99f3d9 chore: remove duplicate nodejs and python SDK subdirectories
These incomplete SDK implementations in the Rust repository were outdated
and redundant. The complete versions are maintained in separate repositories:
- sol-trade-sdk-ts (Node.js)
- sol-trade-sdk-python (Python)

🤖 Generated with [Qoder](https://qoder.com)
2026-04-10 15:37:53 +08:00
0xfnzero 971ef41fad feat: add global MEV protection and refactor TradeConfig to builder pattern
- Add `mev_protection: bool` to `TradeConfig` and `InfrastructureConfig` (default: false)
  - Astralane QUIC: switches to port 9000 (MEV-protected endpoint) when enabled
  - BlockRazor HTTP: uses `mode=sandwichMitigation` query param when enabled
  - BlockRazor gRPC: uses `mode=sandwichMitigation` when enabled
- Add `SWQOS_ENDPOINTS_ASTRALANE_QUIC_MEV` constants (port 9000) to `constants/swqos.rs`
- Fix `astralane_quic.rs` IP candidates to use the actual port from the address (supports both 7000 and 9000)
- Refactor `TradeConfig` to builder pattern via `TradeConfig::builder()`
  - Introduce `TradeConfigBuilder` with all optional fields and clear defaults
  - `TradeConfig::new()` kept as a shortcut (calls `builder().build()`) for backward compatibility
  - Remove old `with_wsol_ata_config` / `with_check_min_tip` / `with_swqos_cores_from_end` / `with_mev_protection` chain methods
- Update all 16 examples to use `TradeConfig::builder()` with commented-out options so users can discover all available settings at a glance
- Update README.md and README_CN.md code snippets to use builder pattern

🤖 Generated with [Qoder][https://qoder.com]
2026-04-08 02:13:37 +08:00
0xfnzero 35bfa93516 fix: add slippage clamping and improve WSOL wrap logic
Changes to src/utils/calc/common.rs:
- Add MAX_SLIPPAGE_BASIS_POINTS constant (9999 = 99.99%)
- Clamp basis_points in calculate_with_slippage_buy to prevent amount doubling

Changes to src/instruction/pumpswap.rs:
- Fix WSOL wrap amount calculation for exact vs non-exact input modes
- Use input_amount for exact mode, sol_amount for non-exact mode

🤖 Generated with [Qoder][https://qoder.com]
2026-04-06 16:53:36 +08:00
0xfnzero c8f9f9f6aa docs: add SDK Versions section with multi-language navigation
Add a dedicated section showing all available SDK language versions
with links to their repositories.

🤖 Generated with [Qoder](https://qoder.com)
2026-04-06 02:37:18 +08:00
0xfnzero 99846a21c2 fix(blockrazor): wrap ArcSwap in Arc for Clone and static ping task
- Store gRPC client as Arc<ArcSwap<BlockRazorGrpcClient>> so BlockRazorBackend
  can derive Clone (ArcSwap does not implement Clone).
- Cloning the outer Arc gives owned handles for tokio::spawn in start_ping_task,
  fixing E0521 (borrowed self escaping to 'static future).

Made-with: Cursor
2026-04-03 10:54:33 +08:00
WoodandGitHub 062c5415c3 Merge pull request #97 from 520goodyear/main
#让SDK中打印 submit_timing 的数据( SwqosType和 提交耗时)返回给buy 和 sell 方法。
2026-04-02 20:59:31 +08:00
0xfnzero ae890ad976 Add automatic gRPC reconnection for BlockRazor with zero-overhead
Implement lock-free reconnection mechanism using ArcSwap to maintain high
performance for transaction sending while providing automatic recovery
from connection failures.

Key improvements:
- Add automatic reconnection with exponential backoff (1s -> 60s max)
- Use ArcSwap for lock-free atomic reference swapping
- Zero overhead for send_transaction path: only atomic load operation
- Background health check every 30s triggers reconnection on failure
- Reconnection success resets backoff delay to 1s

This ensures transaction sending remains fast (no lock contention) while
providing automatic recovery from network issues or server restarts.

Inspired by the proven reconnection pattern in sol-parser-sdk.
2026-03-30 01:17:33 +08:00
WoodandGitHub e10ee0de3b Merge pull request #94 from matt-soyas/main
Add soyas tip accounts
2026-03-26 01:00:03 +08:00
WoodandGitHub 5e1fb1a66b Merge pull request #93 from HelvetiCrypt/feat/pumpswap-from-pool-data
Add PumpSwapParams::from_pool_data() to reuse decoded Pool
2026-03-26 00:59:49 +08:00
WoodandGitHub 274636abc5 Merge pull request #91 from hookenful/style/rust-fmt
style/run rustfmt
2026-03-15 22:25:00 +08:00
WoodandGitHub 0ec826fcbd Merge pull request #90 from HelvetiCrypt/fix/swqos-worker-busy-spin
Fix SWQOS worker pool busy-spin causing high CPU at idle
2026-03-13 13:10:48 +08:00
WoodandGitHub d2ce193e2c Merge pull request #85 from hookenful/perf/serializer-coldstart-main
Perf/serializer coldstart main
2026-03-01 14:15:35 +08:00
WoodandGitHub 5335a4f5ff Merge pull request #82 from VariantConst/patch-5
Change Helius endpoints from HTTPS to HTTP
2026-02-28 00:47:55 +08:00
WoodandGitHub 6ce8ee582e Merge pull request #79 from HelvetiCrypt/fix/confirm-all-signatures
Fix: poll all channel signatures during confirmation
2026-02-26 00:52:02 +08:00
WoodandGitHub 43d1369d4e Merge pull request #77 from 0xfnzero/feature/pump-cashback
feat: PumpFun & PumpSwap Cashback support
2026-02-19 00:44:47 +08:00
WoodandGitHub 710a8d482f Create context7.json 2026-02-09 05:42:27 +08:00
WoodandGitHub 3773889216 Merge pull request #74 from speedlanding/main
feat(swqos): Add Speedlanding
2026-01-17 14:58:52 +08:00
WoodandGitHub bf6e5bf026 Merge pull request #72 from OpenMindTeh/patch-1
fix: cli_trading example missing {:?} format for Vec<Signature>
2026-01-08 20:48:19 +08:00
WoodandGitHub f0ac470a7b Merge pull request #71 from HelvetiCrypt/fix/update-examples-infrastructure-rpc
Fix examples to use client.infrastructure.rpc
2026-01-08 16:04:43 +08:00
WoodandGitHub 92a1e39bc3 Merge pull request #69 from HelvetiCrypt/fix/soyas-logging
Fix Soyas client to match other SWQOS clients
2026-01-07 23:12:38 +08:00
WoodandGitHub 65cb64d08c Merge pull request #68 from HelvetiCrypt/feat/add-exact-buy-instructions
Add buy_exact_sol_in and buy_exact_quote_in instruction support
2026-01-06 22:35:40 +08:00
WoodandGitHub e12c45cc4c Merge pull request #67 from HelvetiCrypt/feat/shared-infrastructure
Add shared_infrastructure example and update documentation
2026-01-06 15:01:55 +08:00
WoodandGitHub ab74f05fe9 Merge pull request #66 from HelvetiCrypt/feat/shared-infrastructure
feat: add shared infrastructure support for multi-wallet trading
2026-01-06 05:11:09 +08:00
WoodandGitHub 285a5b5a7b Update README_CN.md 2026-01-05 01:25:18 +08:00
WoodandGitHub 518b4c706d Update README.md 2026-01-05 01:24:28 +08:00
WoodandGitHub 710de8a92a Merge pull request #64 from matt-soyas/main
[feat: swqos] Add soyas tokyo endpoint
2025-12-26 01:45:06 +08:00
WoodandGitHub 46512370ff Merge pull request #60 from matt-soyas/main
[feat: swqos] Add soyas london endpoint
2025-12-24 21:08:41 +08:00
WoodandGitHub e7fcee9fbb Merge pull request #62 from VariantConst/patch-4
Update Node1's endpoint in Tokyo.
2025-12-24 21:08:12 +08:00
WoodandGitHub 1f5a8612cb Merge pull request #59 from matt-soyas/main
feat(swqos): Add Soyas
2025-12-20 13:02:57 +08:00
WoodandGitHub 2bd5f4f82c Merge pull request #57 from HelvetiCrypt/fix/early-exit-on-landed-failed-tx
fix: early exit when tx lands but fails on-chain
2025-12-19 17:29:47 +08:00
WoodandGitHub 4a6f75e307 Merge pull request #58 from HelvetiCrypt/fix/bloxroute-global-endpoint
feat: use global BloxRoute endpoint as default
2025-12-19 17:19:08 +08:00
WoodandGitHub 101c5ec07d Merge pull request #56 from IAliceBobI/main
fix: correct instruction index in calculate_size function
2025-12-11 13:48:24 +08:00
WoodandGitHub 130cfabe9b Merge pull request #54 from VariantConst/patch-2
Modify SWQoS endpoints
2025-12-05 19:45:24 +08:00
0xfnzeroandGitHub 28cfef62db Update README_CN.md 2025-10-08 22:58:03 +08:00
0xfnzeroandGitHub 1ceabda9db Update README.md 2025-10-08 22:57:38 +08:00