async fn submit_and_pass_unhalt_bridge_proposal(
    nonce: u64,
    contact: &Contact,
    keys: &[ValidatorKeys],
) -> Result<bool, CosmosGrpcError> {
    let proposal_content = UnhaltBridgeProposal {
        title: "Proposal to reset the oracle".to_string(),
        description: "this resets the oracle to an earlier nonce".to_string(),
        target_nonce: nonce,
    };
    info!("Submit and pass gov proposal: nonce is {}", nonce);

    // encode as a generic proposal
    let any = encode_any(
        proposal_content,
        "/gravity.v1.UnhaltBridgeProposal".to_string(),
    );

    let res = contact
        .create_gov_proposal(
            any,
            get_deposit(),
            get_fee(),
            keys[0].validator_key,
            Some(TOTAL_TIMEOUT),
        )
        .await
        .unwrap();
    trace!("Gov proposal submitted with {:?}", res);
    let res = contact.wait_for_tx(res, TOTAL_TIMEOUT).await.unwrap();
    trace!("Gov proposal executed with {:?}", res);

    vote_yes_on_proposals(contact, keys, None).await;
    Ok(true)
}
// Submits the custom Unhalt bridge governance proposal, votes yes for each validator, waits for votes to be submitted
Submits the custom Unhalt bridge governance proposal, votes yes for each validator, waits for votes to be submitted
Submits the custom Unhalt bridge governance proposal votes yes for each validator waits for votes to be submitted
async fn submit_and_pass_unhalt_bridge_proposal(
    nonce: u64,
    contact: &Contact,
    keys: &[ValidatorKeys],
) -> Result<bool, CosmosGrpcError> {
    let proposal_content = UnhaltBridgeProposal {
        title: "Proposal to reset the oracle".to_string(),
        description: "this resets the oracle to an earlier nonce".to_string(),
        target_nonce: nonce,
    };
    info!("Submit and pass gov proposal: nonce is {}", nonce);
    // encode as a generic proposal
    let any = encode_any(
        proposal_content,
        "/gravity.v1.UnhaltBridgeProposal".to_string(),
    );
    let res = contact
        .create_gov_proposal(
            any,
            get_deposit(),
            get_fee(),
            keys[0].validator_key,
            Some(TOTAL_TIMEOUT),
        )
        .await
        .unwrap();
    trace!("Gov proposal submitted with {:?}", res);
    let res = contact.wait_for_tx(res, TOTAL_TIMEOUT).await.unwrap();
    trace!("Gov proposal executed with {:?}", res);
    vote_yes_on_proposals(contact, keys, None).await;
    Ok(true)
}
async fn submit_and_pass_unhalt_bridge_proposal ( nonce : u64 , contact : & Contact , keys : & [ ValidatorKeys ] , ) -> Result < bool , CosmosGrpcError > { let proposal_content = UnhaltBridgeProposal { title : " " . to_string ( ) , description : " " . to_string ( ) , target_nonce : nonce , } ; info ! ( " " nonce ) ; // encode as a generic proposal let any = encode_any ( proposal_content , " " . to_string ( ) , ) ; let res = contact . create_gov_proposal ( any , get_deposit ( ) , get_fee ( ) , keys [ 0 ] . validator_key , Some ( TOTAL_TIMEOUT ) , ) . await . unwrap ( ) ; trace ! ( " " res ) ; let res = contact . wait_for_tx ( res , TOTAL_TIMEOUT ) . await . unwrap ( ) ; trace ! ( " " res ) ; vote_yes_on_proposals ( contact , keys , None ) . await ; Ok ( true ) }
Submits the custom Unhalt bridge governance proposal, votes yes for each validator, waits for votes to be submitted
Submits the custom Unhalt bridge governance proposal votes yes for each validator waits for votes to be submitted
nonce
u64
contact
&Contact
keys
&[ValidatorKeys]
nonce
u64
contact
&Contact
keys
&[ValidatorKeys]