Skip to content

Commit

Permalink
Add helpers to create handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
Aursen committed Feb 19, 2024
1 parent 1df17a5 commit 67bd45f
Showing 1 changed file with 46 additions and 4 deletions.
50 changes: 46 additions & 4 deletions packages/injective-cosmwasm/src/exchange_mock_querier.rs
Original file line number Diff line number Diff line change
Expand Up @@ -829,8 +829,8 @@ impl TestDeposit {

pub mod handlers {
use cosmwasm_std::{
to_json_binary, AllBalanceResponse, BalanceResponse, Binary, Coin, ContractResult, QuerierResult, StdResult, SupplyResponse, SystemError,
SystemResult, Uint128,
to_json_binary, AllBalanceResponse, BalanceResponse, Binary, CodeInfoResponse, Coin, ContractInfoResponse, ContractResult, QuerierResult,
StdResult, SupplyResponse, SystemError, SystemResult, Uint128,
};
use std::collections::HashMap;

Expand All @@ -851,8 +851,8 @@ pub mod handlers {
TrimmedSpotLimitOrder,
};
use crate::{
HandlesBankAllBalancesQuery, HandlesBankBalanceQuery, HandlesTraderDerivativeOrdersToCancelUpToAmountQuery, MarketMidPriceAndTOBResponse,
OracleType,
HandlesBankAllBalancesQuery, HandlesBankBalanceQuery, HandlesCodeInfo, HandlesContractInfo,
HandlesTraderDerivativeOrdersToCancelUpToAmountQuery, MarketMidPriceAndTOBResponse, OracleType,
};

use super::{HandlesOraclePriceQuery, TestDeposit};
Expand Down Expand Up @@ -1358,4 +1358,46 @@ pub mod handlers {
}
Some(Box::new(Temp { result }))
}

pub fn create_contract_info_handler(code_id: u64, creator: impl ToString) -> Option<Box<dyn HandlesContractInfo>> {
struct Temp {
code_id: u64,
creator: String,
}

impl HandlesContractInfo for Temp {
fn handle(&self, _contract_addr: &str) -> QuerierResult {
let mut response = ContractInfoResponse::default();
response.code_id = self.code_id;
response.creator = self.creator.to_owned();

SystemResult::Ok(ContractResult::from(to_json_binary(&response)))
}
}

Some(Box::new(Temp {
code_id,
creator: creator.to_string(),
}))
}

pub fn create_code_id_handler(creator: impl ToString) -> Option<Box<dyn HandlesCodeInfo>> {
struct Temp {
creator: String,
}

impl HandlesCodeInfo for Temp {
fn handle(&self, code_id: u64) -> QuerierResult {
let mut response = CodeInfoResponse::default();
response.code_id = code_id;
response.creator = self.creator.to_owned();

SystemResult::Ok(ContractResult::from(to_json_binary(&response)))
}
}

Some(Box::new(Temp {
creator: creator.to_string(),
}))
}
}

0 comments on commit 67bd45f

Please sign in to comment.