fn instantiate_vust_whale_pair(
    mut router: &mut TerraApp,
    owner: &Addr,
    whale_token_instance: &Addr,
    base_token_instance: &Addr
) -> (Addr, Addr) {
    let token_contract_code_id = store_token_code(&mut router);

    let pair_contract_code_id = store_pair_code(&mut router);

    let msg = terraswap::pair::InstantiateMsg {
        asset_infos: [
            AssetInfo::Token {
                contract_addr: base_token_instance.to_string(),
            },
            AssetInfo::Token {
                contract_addr: whale_token_instance.to_string(),
            },
        ],
        token_code_id: token_contract_code_id,
    };

    let pair = router
        .instantiate_contract(
            pair_contract_code_id,
            owner.clone(),
            &msg,
            &[],
            String::from("PAIRRR"),
            None,
        )
        .unwrap();

    let res: PairInfo = router
        .wrap()
        .query_wasm_smart(pair.clone(), &terraswap::pair::QueryMsg::Pair {})
        .unwrap();

    (pair, Addr::unchecked(res.liquidity_token))
}
/// Create terraswap WHALE/UST pair
Create terraswap WHALE/UST pair
Create terraswap WHALE / UST pair
fn instantiate_vust_whale_pair(
    mut router: &mut TerraApp,
    owner: &Addr,
    whale_token_instance: &Addr,
    base_token_instance: &Addr
) -> (Addr, Addr) {
    let token_contract_code_id = store_token_code(&mut router);
    let pair_contract_code_id = store_pair_code(&mut router);
    let msg = terraswap::pair::InstantiateMsg {
        asset_infos: [
            AssetInfo::Token {
                contract_addr: base_token_instance.to_string(),
            },
            AssetInfo::Token {
                contract_addr: whale_token_instance.to_string(),
            },
        ],
        token_code_id: token_contract_code_id,
    };
    let pair = router
        .instantiate_contract(
            pair_contract_code_id,
            owner.clone(),
            &msg,
            &[],
            String::from("PAIRRR"),
            None,
        )
        .unwrap();
    let res: PairInfo = router
        .wrap()
        .query_wasm_smart(pair.clone(), &terraswap::pair::QueryMsg::Pair {})
        .unwrap();
    (pair, Addr::unchecked(res.liquidity_token))
}
fn instantiate_vust_whale_pair ( mut router : & mut TerraApp , owner : & Addr , whale_token_instance : & Addr , base_token_instance : & Addr ) -> ( Addr , Addr ) { let token_contract_code_id = store_token_code ( & mut router ) ; let pair_contract_code_id = store_pair_code ( & mut router ) ; let msg = terraswap :: pair :: InstantiateMsg { asset_infos : [ AssetInfo :: Token { contract_addr : base_token_instance . to_string ( ) , } , AssetInfo :: Token { contract_addr : whale_token_instance . to_string ( ) , } , ] , token_code_id : token_contract_code_id , } ; let pair = router . instantiate_contract ( pair_contract_code_id , owner . clone ( ) , & msg , & [ ] , String :: from ( " " ) , None , ) . unwrap ( ) ; let res : PairInfo = router . wrap ( ) . query_wasm_smart ( pair . clone ( ) , & terraswap :: pair :: QueryMsg :: Pair { } ) . unwrap ( ) ; ( pair , Addr :: unchecked ( res . liquidity_token ) ) }
Create terraswap WHALE/UST pair
Create terraswap WHALE / UST pair
router
&mut TerraApp
owner
&Addr
whale_token_instance
&Addr
base_token_instance
&Addr
router
&mut TerraApp
owner
&Addr
whale_token_instance
&Addr
base_token_instance
&Addr