diff --git a/Cargo.toml b/Cargo.toml index edae905e6..43aa8bc07 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ members = [ # "contracts/snip20_staking", //TODO: migrate to v1 # Mock contracts - # "contracts/mock/mock_band", //TODO: migrate to v1 + "contracts/mock/mock_band", # "contracts/mock/mock_secretswap_pair", //TODO: migrate to v1 "contracts/mock/mock_sienna_pair", # "contracts/mock/mock_adapter", //TODO: migrate to v1 diff --git a/archived-contracts/mock_band/.cargo/config b/contracts/mock/mock_band/.cargo/config similarity index 100% rename from archived-contracts/mock_band/.cargo/config rename to contracts/mock/mock_band/.cargo/config diff --git a/archived-contracts/mock_band/.circleci/config.yml b/contracts/mock/mock_band/.circleci/config.yml similarity index 100% rename from archived-contracts/mock_band/.circleci/config.yml rename to contracts/mock/mock_band/.circleci/config.yml diff --git a/archived-contracts/mock_band/Cargo.toml b/contracts/mock/mock_band/Cargo.toml similarity index 87% rename from archived-contracts/mock_band/Cargo.toml rename to contracts/mock/mock_band/Cargo.toml index 54a42870b..327dbdf3a 100644 --- a/archived-contracts/mock_band/Cargo.toml +++ b/contracts/mock/mock_band/Cargo.toml @@ -26,9 +26,8 @@ backtraces = ["shade-protocol/backtraces"] debug-print = ["shade-protocol/debug-print"] [dependencies] -bincode = "1.3.1" shade-protocol = { version = "0.1.0", path = "../../../packages/shade_protocol", features = [ "band", + "storage_plus", ] } -schemars = "0.7" -serde = { version = "1.0.103", default-features = false, features = ["derive"] } +cosmwasm-schema = "1.1.5" diff --git a/archived-contracts/mock_band/Makefile b/contracts/mock/mock_band/Makefile similarity index 100% rename from archived-contracts/mock_band/Makefile rename to contracts/mock/mock_band/Makefile diff --git a/archived-contracts/mock_band/README.md b/contracts/mock/mock_band/README.md similarity index 100% rename from archived-contracts/mock_band/README.md rename to contracts/mock/mock_band/README.md diff --git a/archived-contracts/mock_band/src/contract.rs b/contracts/mock/mock_band/src/contract.rs similarity index 68% rename from archived-contracts/mock_band/src/contract.rs rename to contracts/mock/mock_band/src/contract.rs index d5d219bfe..b0e909ce0 100644 --- a/archived-contracts/mock_band/src/contract.rs +++ b/contracts/mock/mock_band/src/contract.rs @@ -1,33 +1,22 @@ +use cosmwasm_schema::cw_serde; use shade_protocol::c_std::{ to_binary, - Api, Binary, Env, DepsMut, Response, - Querier, StdError, StdResult, - Storage, + Deps, + shd_entry_point, }; -use schemars::JsonSchema; -use serde::{Deserialize, Serialize}; use shade_protocol::contract_interfaces::oracles::band::{InstantiateMsg, ReferenceData}; use shade_protocol::c_std::Uint128; -use shade_protocol::storage::{bucket, bucket_read, Bucket, ReadonlyBucket}; +use crate::storage::PRICE; -pub static PRICE: &[u8] = b"prices"; - -pub fn price_r(storage: &dyn Storage) -> ReadonlyBucket { - bucket_read(storage, PRICE) -} - -pub fn price_w(storage: &mut dyn Storage) -> Bucket { - bucket(storage, PRICE) -} - -pub fn init( +#[shd_entry_point] +pub fn instantiate( _deps: DepsMut, _env: Env, _msg: InstantiateMsg, @@ -35,27 +24,26 @@ pub fn init( Ok(Response::default()) } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -#[serde(rename_all = "snake_case")] +#[cw_serde] pub enum ExecuteMsg { MockPrice { symbol: String, price: Uint128 }, } -pub fn handle( +#[shd_entry_point] +pub fn execute( deps: DepsMut, _env: Env, msg: ExecuteMsg, ) -> StdResult { return match msg { ExecuteMsg::MockPrice { symbol, price } => { - price_w(deps.storage).save(symbol.as_bytes(), &price)?; + PRICE.save(deps.storage, symbol, &price)?; Ok(Response::default()) } }; } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -#[serde(rename_all = "snake_case")] +#[cw_serde] pub enum QueryMsg { GetReferenceData { base_symbol: String, @@ -66,6 +54,8 @@ pub enum QueryMsg { quote_symbols: Vec, }, } + +#[shd_entry_point] pub fn query( deps: Deps, msg: QueryMsg, @@ -75,7 +65,7 @@ pub fn query( base_symbol, quote_symbol: _, } => { - if let Some(price) = price_r(deps.storage).may_load(base_symbol.as_bytes())? { + if let Some(price) = PRICE.may_load(deps.storage, base_symbol)? { return to_binary(&ReferenceData { rate: price, last_updated_base: 0, @@ -91,7 +81,7 @@ pub fn query( let mut results = Vec::new(); for sym in base_symbols { - if let Some(price) = price_r(deps.storage).may_load(sym.as_bytes())? { + if let Some(price) = PRICE.may_load(deps.storage, sym)? { results.push(ReferenceData { rate: price, last_updated_base: 0, @@ -100,7 +90,6 @@ pub fn query( } else { return Err(StdError::GenericErr { msg: "Missing Price Feed".to_string(), - backtrace: None, }); } } diff --git a/archived-contracts/mock_band/src/execute.rs b/contracts/mock/mock_band/src/execute.rs similarity index 100% rename from archived-contracts/mock_band/src/execute.rs rename to contracts/mock/mock_band/src/execute.rs diff --git a/archived-contracts/mock_band/src/lib.rs b/contracts/mock/mock_band/src/lib.rs similarity index 52% rename from archived-contracts/mock_band/src/lib.rs rename to contracts/mock/mock_band/src/lib.rs index 2943dbb50..457fd8286 100644 --- a/archived-contracts/mock_band/src/lib.rs +++ b/contracts/mock/mock_band/src/lib.rs @@ -1 +1,2 @@ pub mod contract; +pub mod storage; \ No newline at end of file diff --git a/contracts/mock/mock_band/src/storage.rs b/contracts/mock/mock_band/src/storage.rs new file mode 100644 index 000000000..32a903036 --- /dev/null +++ b/contracts/mock/mock_band/src/storage.rs @@ -0,0 +1,3 @@ +use shade_protocol::secret_storage_plus::Map; +use shade_protocol::c_std::Uint128; +pub const PRICE: Map = Map::new("price"); \ No newline at end of file