fix(providers): PendingTransaction::log() missing deref (#886)

This commit is contained in:
wolflo 2022-02-08 23:48:03 -07:00 committed by GitHub
parent 36c3adeec9
commit 14551a90c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 9 deletions

View File

@ -25,11 +25,15 @@ use wasm_timer::Delay;
/// once the transaction has enough `confirmations`. The default number of confirmations /// once the transaction has enough `confirmations`. The default number of confirmations
/// is 1, but may be adjusted with the `confirmations` method. If the transaction does not /// is 1, but may be adjusted with the `confirmations` method. If the transaction does not
/// have enough confirmations or is not mined, the future will stay in the pending state. /// have enough confirmations or is not mined, the future will stay in the pending state.
///
/// # Example
///
///``` ///```
/// use ethers_providers::{Provider, Http, Middleware}; /// # use ethers_providers::{Provider, Http};
/// # use ethers_core::utils::Ganache;
/// # use std::convert::TryFrom;
/// use ethers_providers::Middleware;
/// use ethers_core::types::TransactionRequest; /// use ethers_core::types::TransactionRequest;
/// use ethers_core::utils::Ganache;
/// use std::convert::TryFrom;
/// ///
/// # #[tokio::main(flavor = "current_thread")] /// # #[tokio::main(flavor = "current_thread")]
/// # async fn main() -> Result<(), Box<dyn std::error::Error>> { /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
@ -107,7 +111,8 @@ impl<'a, P: JsonRpcClient> PendingTransaction<'a, P> {
impl<'a, P> PendingTransaction<'a, P> { impl<'a, P> PendingTransaction<'a, P> {
/// Allows inspecting the content of a pending transaction in a builder-like way to avoid /// Allows inspecting the content of a pending transaction in a builder-like way to avoid
/// more verbose calls, e.g.: /// more verbose calls, e.g.:
/// `let mined = token.transfer(recipient, amt).send().await?.inspect(|tx| println!(".{}", *tx)).await?;` /// `let mined = token.transfer(recipient, amt).send().await?.inspect(|tx| println!(".{}",
/// *tx)).await?;`
pub fn inspect<F>(self, mut f: F) -> Self pub fn inspect<F>(self, mut f: F) -> Self
where where
F: FnMut(&Self), F: FnMut(&Self),
@ -118,12 +123,12 @@ impl<'a, P> PendingTransaction<'a, P> {
/// Logs the pending transaction hash along with a custom message before it. /// Logs the pending transaction hash along with a custom message before it.
pub fn log_msg<S: std::fmt::Display>(self, msg: S) -> Self { pub fn log_msg<S: std::fmt::Display>(self, msg: S) -> Self {
self.inspect(|s| println!("{}: {:?}", msg, *s)) self.inspect(|s| println!("{}: {:?}", msg, **s))
} }
/// Logs the pending transaction's hash /// Logs the pending transaction's hash
pub fn log(self) -> Self { pub fn log(self) -> Self {
self.inspect(|s| println!("Pending hash: {:?}", *s)) self.inspect(|s| println!("Pending hash: {:?}", **s))
} }
} }