From 1f93575f6c5ea7dfacb337e66c9f0963eca96269 Mon Sep 17 00:00:00 2001 From: Austin Date: Sat, 29 Jul 2023 16:38:29 -0500 Subject: [PATCH 1/7] fix: compile issues with mock band contract --- Cargo.toml | 2 +- archived-contracts/bonds/Cargo.toml | 4 ++-- archived-contracts/mock_band/Cargo.toml | 2 +- archived-contracts/mock_band/src/contract.rs | 7 ++----- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index edae905e6..b5d28b789 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 + "archived-contracts/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/bonds/Cargo.toml b/archived-contracts/bonds/Cargo.toml index 65b87f47c..2dcf01665 100644 --- a/archived-contracts/bonds/Cargo.toml +++ b/archived-contracts/bonds/Cargo.toml @@ -41,7 +41,7 @@ shade-oracles = { git = "https://github.com/securesecrets/shade-oracle.git", tag [dev-dependencies] fadroma = { branch = "v100", commit = 76867e0, git = "https://github.com/hackbg/fadroma.git", features= ["ensemble"] } fadroma-platform-scrt = { branch = "v100", commit = 76867e0, git = "https://github.com/hackbg/fadroma.git" } -contract_harness = { version = "0.1.0", path = "../../packages/contract_harness", features = [ "snip20", "bonds", "oracle", "mock_band", "query_auth", "admin", "shade-oracles-ensemble" ] } -mock_band = { version = "0.1.0", path = "../../contracts/mock_band" } +shade-multi-test = { version = "0.1.0", path = "../../packages/multi_test", features = [ "snip20", "bonds", "oracle", "mock_band", "query_auth", "admin", "shade-oracles-ensemble" ] } +mock_band = { version = "0.1.0", path = "../mock_band" } shade-oracles-ensemble = { git = "https://github.com/securesecrets/shade-oracle.git", tag = "0.11"} diff --git a/archived-contracts/mock_band/Cargo.toml b/archived-contracts/mock_band/Cargo.toml index 54a42870b..ee52d183e 100644 --- a/archived-contracts/mock_band/Cargo.toml +++ b/archived-contracts/mock_band/Cargo.toml @@ -27,7 +27,7 @@ debug-print = ["shade-protocol/debug-print"] [dependencies] bincode = "1.3.1" -shade-protocol = { version = "0.1.0", path = "../../../packages/shade_protocol", features = [ +shade-protocol = { version = "0.1.0", path = "../../packages/shade_protocol", features = [ "band", ] } schemars = "0.7" diff --git a/archived-contracts/mock_band/src/contract.rs b/archived-contracts/mock_band/src/contract.rs index d5d219bfe..348a84578 100644 --- a/archived-contracts/mock_band/src/contract.rs +++ b/archived-contracts/mock_band/src/contract.rs @@ -1,16 +1,14 @@ use shade_protocol::c_std::{ to_binary, - Api, Binary, Env, DepsMut, Response, - Querier, StdError, StdResult, Storage, + Deps, }; -use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use shade_protocol::contract_interfaces::oracles::band::{InstantiateMsg, ReferenceData}; use shade_protocol::c_std::Uint128; @@ -27,7 +25,7 @@ pub fn price_w(storage: &mut dyn Storage) -> Bucket { bucket(storage, PRICE) } -pub fn init( +pub fn instantiate( _deps: DepsMut, _env: Env, _msg: InstantiateMsg, @@ -100,7 +98,6 @@ pub fn query( } else { return Err(StdError::GenericErr { msg: "Missing Price Feed".to_string(), - backtrace: None, }); } } From e49826896f23fe6b3f66053f02ecbe7a03c684cc Mon Sep 17 00:00:00 2001 From: Austin Date: Sat, 29 Jul 2023 16:44:26 -0500 Subject: [PATCH 2/7] chore: move mock band out of archive --- {archived-contracts => contracts/mock}/mock_band/.cargo/config | 0 .../mock}/mock_band/.circleci/config.yml | 0 {archived-contracts => contracts/mock}/mock_band/Cargo.toml | 2 +- {archived-contracts => contracts/mock}/mock_band/Makefile | 0 {archived-contracts => contracts/mock}/mock_band/README.md | 0 .../mock}/mock_band/src/contract.rs | 0 {archived-contracts => contracts/mock}/mock_band/src/execute.rs | 0 {archived-contracts => contracts/mock}/mock_band/src/lib.rs | 0 8 files changed, 1 insertion(+), 1 deletion(-) rename {archived-contracts => contracts/mock}/mock_band/.cargo/config (100%) rename {archived-contracts => contracts/mock}/mock_band/.circleci/config.yml (100%) rename {archived-contracts => contracts/mock}/mock_band/Cargo.toml (90%) rename {archived-contracts => contracts/mock}/mock_band/Makefile (100%) rename {archived-contracts => contracts/mock}/mock_band/README.md (100%) rename {archived-contracts => contracts/mock}/mock_band/src/contract.rs (100%) rename {archived-contracts => contracts/mock}/mock_band/src/execute.rs (100%) rename {archived-contracts => contracts/mock}/mock_band/src/lib.rs (100%) 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 90% rename from archived-contracts/mock_band/Cargo.toml rename to contracts/mock/mock_band/Cargo.toml index ee52d183e..54a42870b 100644 --- a/archived-contracts/mock_band/Cargo.toml +++ b/contracts/mock/mock_band/Cargo.toml @@ -27,7 +27,7 @@ debug-print = ["shade-protocol/debug-print"] [dependencies] bincode = "1.3.1" -shade-protocol = { version = "0.1.0", path = "../../packages/shade_protocol", features = [ +shade-protocol = { version = "0.1.0", path = "../../../packages/shade_protocol", features = [ "band", ] } schemars = "0.7" 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 100% rename from archived-contracts/mock_band/src/contract.rs rename to contracts/mock/mock_band/src/contract.rs 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 100% rename from archived-contracts/mock_band/src/lib.rs rename to contracts/mock/mock_band/src/lib.rs From 0eb86e815303e8c3b65070e724460f973a6d6a47 Mon Sep 17 00:00:00 2001 From: Austin Date: Sat, 29 Jul 2023 16:47:07 -0500 Subject: [PATCH 3/7] missed one file last commit --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index b5d28b789..43aa8bc07 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ members = [ # "contracts/snip20_staking", //TODO: migrate to v1 # Mock contracts - "archived-contracts/mock_band", + "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 From 2308e38c1b684796a9d2b39c524ed9325579d56a Mon Sep 17 00:00:00 2001 From: Austin Date: Sat, 29 Jul 2023 16:49:40 -0500 Subject: [PATCH 4/7] revert changes to bonds that shouldn't have been in this PR --- archived-contracts/bonds/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/archived-contracts/bonds/Cargo.toml b/archived-contracts/bonds/Cargo.toml index 2dcf01665..65b87f47c 100644 --- a/archived-contracts/bonds/Cargo.toml +++ b/archived-contracts/bonds/Cargo.toml @@ -41,7 +41,7 @@ shade-oracles = { git = "https://github.com/securesecrets/shade-oracle.git", tag [dev-dependencies] fadroma = { branch = "v100", commit = 76867e0, git = "https://github.com/hackbg/fadroma.git", features= ["ensemble"] } fadroma-platform-scrt = { branch = "v100", commit = 76867e0, git = "https://github.com/hackbg/fadroma.git" } -shade-multi-test = { version = "0.1.0", path = "../../packages/multi_test", features = [ "snip20", "bonds", "oracle", "mock_band", "query_auth", "admin", "shade-oracles-ensemble" ] } -mock_band = { version = "0.1.0", path = "../mock_band" } +contract_harness = { version = "0.1.0", path = "../../packages/contract_harness", features = [ "snip20", "bonds", "oracle", "mock_band", "query_auth", "admin", "shade-oracles-ensemble" ] } +mock_band = { version = "0.1.0", path = "../../contracts/mock_band" } shade-oracles-ensemble = { git = "https://github.com/securesecrets/shade-oracle.git", tag = "0.11"} From 0cb844c20f84cdd1c2dbb9269b9cb84323aaff92 Mon Sep 17 00:00:00 2001 From: Austin Date: Tue, 1 Aug 2023 21:34:50 -0500 Subject: [PATCH 5/7] update dependencies --- contracts/mock/mock_band/Cargo.toml | 4 +--- contracts/mock/mock_band/src/contract.rs | 8 +++----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/contracts/mock/mock_band/Cargo.toml b/contracts/mock/mock_band/Cargo.toml index 54a42870b..bd88f9bab 100644 --- a/contracts/mock/mock_band/Cargo.toml +++ b/contracts/mock/mock_band/Cargo.toml @@ -26,9 +26,7 @@ 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", ] } -schemars = "0.7" -serde = { version = "1.0.103", default-features = false, features = ["derive"] } +cosmwasm-schema = "1.1.5" diff --git a/contracts/mock/mock_band/src/contract.rs b/contracts/mock/mock_band/src/contract.rs index 348a84578..fa9d05346 100644 --- a/contracts/mock/mock_band/src/contract.rs +++ b/contracts/mock/mock_band/src/contract.rs @@ -1,3 +1,4 @@ +use cosmwasm_schema::cw_serde; use shade_protocol::c_std::{ to_binary, Binary, @@ -9,7 +10,6 @@ use shade_protocol::c_std::{ Storage, Deps, }; -use serde::{Deserialize, Serialize}; use shade_protocol::contract_interfaces::oracles::band::{InstantiateMsg, ReferenceData}; use shade_protocol::c_std::Uint128; @@ -33,8 +33,7 @@ pub fn instantiate( Ok(Response::default()) } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -#[serde(rename_all = "snake_case")] +#[cw_serde] pub enum ExecuteMsg { MockPrice { symbol: String, price: Uint128 }, } @@ -52,8 +51,7 @@ pub fn handle( }; } -#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -#[serde(rename_all = "snake_case")] +#[cw_serde] pub enum QueryMsg { GetReferenceData { base_symbol: String, From 41d8106dec3a213fd98dc967011047f4788f2f28 Mon Sep 17 00:00:00 2001 From: Austin Date: Tue, 1 Aug 2023 22:45:36 -0500 Subject: [PATCH 6/7] add shade entry points and storage file --- contracts/mock/mock_band/Cargo.toml | 1 + contracts/mock/mock_band/src/contract.rs | 7 ++++++- contracts/mock/mock_band/src/storage.rs | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 contracts/mock/mock_band/src/storage.rs diff --git a/contracts/mock/mock_band/Cargo.toml b/contracts/mock/mock_band/Cargo.toml index bd88f9bab..327dbdf3a 100644 --- a/contracts/mock/mock_band/Cargo.toml +++ b/contracts/mock/mock_band/Cargo.toml @@ -28,5 +28,6 @@ debug-print = ["shade-protocol/debug-print"] [dependencies] shade-protocol = { version = "0.1.0", path = "../../../packages/shade_protocol", features = [ "band", + "storage_plus", ] } cosmwasm-schema = "1.1.5" diff --git a/contracts/mock/mock_band/src/contract.rs b/contracts/mock/mock_band/src/contract.rs index fa9d05346..5edda8118 100644 --- a/contracts/mock/mock_band/src/contract.rs +++ b/contracts/mock/mock_band/src/contract.rs @@ -9,6 +9,7 @@ use shade_protocol::c_std::{ StdResult, Storage, Deps, + shd_entry_point, }; use shade_protocol::contract_interfaces::oracles::band::{InstantiateMsg, ReferenceData}; use shade_protocol::c_std::Uint128; @@ -25,6 +26,7 @@ pub fn price_w(storage: &mut dyn Storage) -> Bucket { bucket(storage, PRICE) } +#[shd_entry_point] pub fn instantiate( _deps: DepsMut, _env: Env, @@ -38,7 +40,8 @@ pub enum ExecuteMsg { MockPrice { symbol: String, price: Uint128 }, } -pub fn handle( +#[shd_entry_point] +pub fn execute( deps: DepsMut, _env: Env, msg: ExecuteMsg, @@ -62,6 +65,8 @@ pub enum QueryMsg { quote_symbols: Vec, }, } + +#[shd_entry_point] pub fn query( deps: Deps, msg: QueryMsg, diff --git a/contracts/mock/mock_band/src/storage.rs b/contracts/mock/mock_band/src/storage.rs new file mode 100644 index 000000000..5c8feb432 --- /dev/null +++ b/contracts/mock/mock_band/src/storage.rs @@ -0,0 +1,3 @@ +use shade_protocol::secret_storage_plus::Item; + +pub const PRICE: Item = Item::new("price"); \ No newline at end of file From c36a8028b7f9433a446dba01d4db245e573c6b92 Mon Sep 17 00:00:00 2001 From: Austin Date: Wed, 2 Aug 2023 15:59:41 -0500 Subject: [PATCH 7/7] update storage --- contracts/mock/mock_band/src/contract.rs | 19 ++++--------------- contracts/mock/mock_band/src/lib.rs | 1 + contracts/mock/mock_band/src/storage.rs | 6 +++--- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/contracts/mock/mock_band/src/contract.rs b/contracts/mock/mock_band/src/contract.rs index 5edda8118..b0e909ce0 100644 --- a/contracts/mock/mock_band/src/contract.rs +++ b/contracts/mock/mock_band/src/contract.rs @@ -7,24 +7,13 @@ use shade_protocol::c_std::{ Response, StdError, StdResult, - Storage, Deps, shd_entry_point, }; use shade_protocol::contract_interfaces::oracles::band::{InstantiateMsg, ReferenceData}; use shade_protocol::c_std::Uint128; -use shade_protocol::storage::{bucket, bucket_read, Bucket, ReadonlyBucket}; - -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) -} +use crate::storage::PRICE; #[shd_entry_point] pub fn instantiate( @@ -48,7 +37,7 @@ pub fn execute( ) -> 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()) } }; @@ -76,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, @@ -92,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, diff --git a/contracts/mock/mock_band/src/lib.rs b/contracts/mock/mock_band/src/lib.rs index 2943dbb50..457fd8286 100644 --- a/contracts/mock/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 index 5c8feb432..32a903036 100644 --- a/contracts/mock/mock_band/src/storage.rs +++ b/contracts/mock/mock_band/src/storage.rs @@ -1,3 +1,3 @@ -use shade_protocol::secret_storage_plus::Item; - -pub const PRICE: Item = Item::new("price"); \ No newline at end of file +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