pub fn new(private_key: impl Into<String>, rpc_url: impl Into<String>) -> Self {
        let pk = private_key.into();
        let private_key_bytes =
            hex::decode(pk.strip_prefix("0x").unwrap_or(&pk)).expect("Invalid private key");
        let signer = SigningKey::from_slice(&private_key_bytes).expect("Invalid private key");

        let client = reqwest::Client::builder()
            .pool_max_idle_per_host(0)
            .pool_idle_timeout(Duration::from_secs(240))
            .build()
            .unwrap();
        Self { signer, http: client.into(), rpc_url: rpc_url.into() }
    }
Creates a new [`NetworkClient`] with the given private key and rpc url.
crates/sdk/src/network/client.rs