pub async fn run(&self) -> eyre::Result<()> {
        let etherscan = Client::new(self.chain.try_into()?, &self.etherscan_key)
            .wrap_err("Failed to create etherscan client")?;

        let resp = etherscan
            .check_contract_verification_status(self.guid.clone())
            .await
            .wrap_err("Failed to request verification status")?;

        if resp.status == "0" {
            if resp.result == "Pending in queue" {
                println!("Verification is pending...");
                return Ok(())
            }

            if resp.result == "Already Verified" {
                println!("Contract source code already verified");
                return Ok(())
            }

            warn!("Failed verification: {:?}", resp);

            eprintln!(
                "Contract verification failed:\nResponse: `{}`\nDetails: `{}`",
                resp.message, resp.result
            );

            std::process::exit(1);
        }

        println!("Contract successfully verified.");
        Ok(())
    }
/// Executes the command to check verification status on Etherscan
Executes the command to check verification status on Etherscan
Executes the command to check verification status on Etherscan
pub async fn run(&self) -> eyre::Result<()> {
        let etherscan = Client::new(self.chain.try_into()?, &self.etherscan_key)
            .wrap_err("Failed to create etherscan client")?;
        let resp = etherscan
            .check_contract_verification_status(self.guid.clone())
            .await
            .wrap_err("Failed to request verification status")?;
        if resp.status == "0" {
            if resp.result == "Pending in queue" {
                println!("Verification is pending...");
                return Ok(())
            }
            if resp.result == "Already Verified" {
                println!("Contract source code already verified");
                return Ok(())
            }
            warn!("Failed verification: {:?}", resp);
            eprintln!(
                "Contract verification failed:\nResponse: `{}`\nDetails: `{}`",
                resp.message, resp.result
            );
            std::process::exit(1);
        }
        println!("Contract successfully verified.");
        Ok(())
    }
pub async fn run ( & self ) -> eyre :: Result < ( ) > { let etherscan = Client :: new ( self . chain . try_into ( ) ? , & self . etherscan_key ) . wrap_err ( " " ) ? ; let resp = etherscan . check_contract_verification_status ( self . guid . clone ( ) ) . await . wrap_err ( " " ) ? ; if resp . status == " " { if resp . result == " " { println ! ( " " ) ; return Ok ( ( ) ) } if resp . result == " " { println ! ( " " ) ; return Ok ( ( ) ) } warn ! ( " " resp ) ; eprintln ! ( " \n \n " resp message resp result ) ; std :: process :: exit ( 1 ) ; } println ! ( " " ) ; Ok ( ( ) ) }
Executes the command to check verification status on Etherscan
Executes the command to check verification status on Etherscan
&self
&self