|
145 | 145 | > { |
146 | 146 | let chain = cfg.blockchain_chain_name()?; |
147 | 147 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 148 | + #[cfg(feature = "proxy_chatter")] |
| 149 | + let provider = change_port(provider, cfg)?; |
148 | 150 | let meta_signer = meta_signer_key.into(); |
149 | 151 | let meta_wallet = LocalWallet::from(meta_signer.clone()); |
150 | 152 | let meta_client = SignerMiddleware::new(provider, meta_wallet); |
|
207 | 209 | > { |
208 | 210 | let chain = cfg.blockchain_chain_name()?; |
209 | 211 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 212 | + #[cfg(feature = "proxy_chatter")] |
| 213 | + let provider = change_port(provider, cfg)?; |
210 | 214 | let meta_signer = meta_signer_key.into(); |
211 | 215 | let meta_wallet = LocalWallet::from(meta_signer.clone()); |
212 | 216 | let meta_client = SignerMiddleware::new(provider, meta_wallet); |
|
318 | 322 | > { |
319 | 323 | let chain = cfg.blockchain_chain_name()?; |
320 | 324 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 325 | + #[cfg(feature = "proxy_chatter")] |
| 326 | + let provider = change_port(provider, cfg)?; |
321 | 327 | let meta_signer = meta_signer_key.into(); |
322 | 328 | let meta_wallet = LocalWallet::from(meta_signer.clone()); |
323 | 329 | let meta_client = SignerMiddleware::new(provider, meta_wallet); |
|
363 | 369 | > { |
364 | 370 | let chain = cfg.blockchain_chain_name()?; |
365 | 371 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 372 | + #[cfg(feature = "proxy_chatter")] |
| 373 | + let provider = change_port(provider, cfg)?; |
366 | 374 | let meta_signer = meta_signer_key.into(); |
367 | 375 | let meta_wallet = LocalWallet::from(meta_signer.clone()); |
368 | 376 | let meta_client = SignerMiddleware::new(provider, meta_wallet); |
|
428 | 436 | > { |
429 | 437 | let chain = cfg.blockchain_chain_name()?; |
430 | 438 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 439 | + #[cfg(feature = "proxy_chatter")] |
| 440 | + let provider = change_port(provider, cfg)?; |
431 | 441 | let meta_signer = meta_signer_key.into(); |
432 | 442 | let meta_wallet = LocalWallet::from(meta_signer.clone()); |
433 | 443 | let meta_client = SignerMiddleware::new(provider, meta_wallet); |
|
525 | 535 | > { |
526 | 536 | let chain = cfg.blockchain_chain_name()?; |
527 | 537 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 538 | + #[cfg(feature = "proxy_chatter")] |
| 539 | + let provider = change_port(provider, cfg)?; |
528 | 540 | let meta_signer = meta_signer_key.into(); |
529 | 541 | let meta_wallet = LocalWallet::from(meta_signer.clone()); |
530 | 542 | let meta_client = SignerMiddleware::new(provider, meta_wallet); |
@@ -571,13 +583,41 @@ pub fn default_local_client( |
571 | 583 | let chain = cfg.blockchain_chain_name()?; |
572 | 584 | let wallet = load_wallet(cfg, wallet_key)?; |
573 | 585 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 586 | + #[cfg(feature = "proxy_chatter")] |
| 587 | + let provider = change_port(provider, cfg)?; |
574 | 588 |
|
575 | 589 | Ok(Arc::new(SignerMiddleware::new(provider, wallet))) |
576 | 590 | } |
577 | 591 |
|
578 | 592 | pub fn default_local_client_no_wallet(cfg: &LitConfig) -> Result<Arc<Provider<Http>>> { |
579 | 593 | let chain = cfg.blockchain_chain_name()?; |
580 | 594 | let provider = ENDPOINT_MANAGER.get_provider(chain.as_str())?; |
| 595 | + #[cfg(feature = "proxy_chatter")] |
| 596 | + let provider = change_port(provider, cfg)?; |
581 | 597 |
|
582 | 598 | Ok(provider) |
583 | 599 | } |
| 600 | + |
| 601 | +#[cfg(feature = "proxy_chatter")] |
| 602 | +pub fn change_port(provider: Arc<Provider<Http>>, cfg: &LitConfig) -> Result<Arc<Provider<Http>>> { |
| 603 | + let chain = cfg.blockchain_chain_name()?; |
| 604 | + if chain.to_lowercase() == "localchain" { |
| 605 | + let cfg2 = cfg.config(); |
| 606 | + let port = cfg2 |
| 607 | + .get_int("node.http.port") |
| 608 | + .map_err(|e| crate::error::unexpected_err(e.to_string(), None))?; |
| 609 | + let port = port as u16; |
| 610 | + let port = 11075 + port; // 10000 + 8545 ( anvil default port ) - 7470 ( lit-node default starting port ) + actual port value |
| 611 | + tracing::trace!( |
| 612 | + "Changing port for proxy provider {} to {}.", |
| 613 | + provider.url().as_str(), |
| 614 | + port |
| 615 | + ); |
| 616 | + let mut proxy_provider = (*provider).clone(); |
| 617 | + proxy_provider.url_mut().set_port(Some(port)).map_err(|_e| { |
| 618 | + crate::error::unexpected_err("Could not set port for proxy provider", None) |
| 619 | + })?; |
| 620 | + return Ok(Arc::new(proxy_provider)); |
| 621 | + } |
| 622 | + Ok(provider) |
| 623 | +} |
0 commit comments