Release v3.5.0: performance, constants, bilingual docs
- Bump version to 3.5.0 - Performance: hot-path timing only when log_enabled/simulate; execute_parallel takes &[Arc<SwqosClient>]; shared HTTP client constants for SWQoS - Code quality: validate_protocol_params extracted for buy/sell; BYTES_PER_ACCOUNT, MAX_INSTRUCTIONS_WARN, HTTP timeout constants; prefetch/syscall bypass comments - Documentation: bilingual (EN + 中文) doc comments in execution, executor, perf, swqos; README/README_CN version and What's new in 3.5.0 - Add release_notes_v3.5.0.md Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -14,13 +14,14 @@ use crate::{
|
||||
trading::{MiddlewareManager, core::transaction_pool::{acquire_builder, release_builder}},
|
||||
};
|
||||
|
||||
/// Build standard RPC transaction
|
||||
/// Build standard RPC transaction.
|
||||
/// Takes `business_instructions` by reference to avoid per-task Vec clone in execute_parallel.
|
||||
pub async fn build_transaction(
|
||||
payer: Arc<Keypair>,
|
||||
_rpc: Option<Arc<SolanaRpcClient>>,
|
||||
unit_limit: u32,
|
||||
unit_price: u64,
|
||||
business_instructions: Vec<Instruction>,
|
||||
business_instructions: &[Instruction],
|
||||
address_lookup_table_account: Option<AddressLookupTableAccount>,
|
||||
recent_blockhash: Option<Hash>,
|
||||
middleware_manager: Option<Arc<MiddlewareManager>>,
|
||||
@@ -57,8 +58,8 @@ pub async fn build_transaction(
|
||||
unit_limit,
|
||||
));
|
||||
|
||||
// Add business instructions
|
||||
instructions.extend(business_instructions);
|
||||
// Add business instructions (clone only here; avoids per-task Vec clone in execute_parallel)
|
||||
instructions.extend_from_slice(business_instructions);
|
||||
|
||||
// Get blockhash for transaction
|
||||
let blockhash = get_transaction_blockhash(recent_blockhash, durable_nonce.clone());
|
||||
|
||||
Reference in New Issue
Block a user