diff --git a/examples/balance_allowance.rs b/examples/balance_allowance.rs index 1d8c405..b011db0 100644 --- a/examples/balance_allowance.rs +++ b/examples/balance_allowance.rs @@ -25,11 +25,7 @@ async fn main() -> Result<()> { let l1_client = ClobClient::with_l1_headers(&base_url, &private_key, chain_id); let creds = l1_client.create_or_derive_api_key(None).await?; - let mut client = ClobClient::with_l2_headers(&base_url, &private_key, chain_id, creds.clone()); - - if let Ok(funder) = env::var("POLY_FUNDER") { - client.set_funder(&funder)?; - } + let client = ClobClient::with_l2_headers(&base_url, &private_key, chain_id, creds.clone()); let mut params = BalanceAllowanceParams::default(); params.asset_type = Some(AssetType::COLLATERAL); diff --git a/examples/order.rs b/examples/order.rs index 11469e8..78cb4fa 100644 --- a/examples/order.rs +++ b/examples/order.rs @@ -26,10 +26,6 @@ async fn main() -> Result<()> { let creds = l1_client.create_or_derive_api_key(None).await?; let mut client = ClobClient::with_l2_headers(&base_url, &private_key, chain_id, creds.clone()); - if let Ok(funder) = env::var("POLY_FUNDER") { - client.set_funder(&funder)?; - } - let gamma_params = GammaListParams { limit: Some(5), // how many markets to fetch max ..Default::default() diff --git a/examples/wss_user.rs b/examples/wss_user.rs index bbb37bf..dec03b6 100644 --- a/examples/wss_user.rs +++ b/examples/wss_user.rs @@ -28,10 +28,6 @@ async fn main() -> Result<()> { let mut l2_client = ClobClient::with_l2_headers(&base_url, &private_key, chain_id, creds.clone()); - if let Ok(funder) = env::var("POLY_FUNDER") { - l2_client.set_funder(&funder)?; - } - let min_liquidity = env::var("POLY_WSS_MIN_LIQUIDITY") .ok() .and_then(|value| Decimal::from_str(&value).ok()) diff --git a/src/client.rs b/src/client.rs index e004ecb..d4ea4fb 100644 --- a/src/client.rs +++ b/src/client.rs @@ -165,6 +165,7 @@ impl ClobClient { api_creds: Some(api_creds), order_builder: Some(order_builder), } + .with_env_funder() } /// Set API credentials @@ -186,6 +187,14 @@ impl ClobClient { Ok(()) } + fn with_env_funder(mut self) -> Self { + if let Ok(funder) = env::var("POLY_FUNDER") { + self.set_funder(&funder) + .unwrap_or_else(|err| panic!("Failed to set funder from POLY_FUNDER: {}", err)); + } + self + } + /// Override the Gamma API base URL pub fn with_gamma_base(mut self, url: &str) -> Self { self.gamma_base_url = url.to_string(); @@ -793,7 +802,10 @@ impl ClobClient { if !response.status().is_success() { return Err(PolyError::api( response.status().as_u16(), - format!("Failed to post batch orders: {}", response.text().await.unwrap()), + format!( + "Failed to post batch orders: {}", + response.text().await.unwrap() + ), )); } @@ -1724,8 +1736,8 @@ impl ClobClient { .await .map_err(|e| PolyError::parse(format!("Failed to read response body: {}", e), None))?; - let gamma_market = serde_json::from_str::(&body) - .map_err(|err| { + let gamma_market = + serde_json::from_str::(&body).map_err(|err| { PolyError::parse( format!("Failed to parse market {}: {}", market_id, err), None, @@ -1883,9 +1895,8 @@ impl ClobClient { value }; - serde_json::from_value::>(payload).map_err(|err| { - PolyError::parse(format!("Failed to parse {}: {}", ctx, err), None) - }) + serde_json::from_value::>(payload) + .map_err(|err| PolyError::parse(format!("Failed to parse {}: {}", ctx, err), None)) } }