From 57c14e3ef934e9ed8e9fffb0a344bb4d8b73193f Mon Sep 17 00:00:00 2001 From: hu55a1n1 Date: Mon, 1 Jan 2024 12:49:32 -0800 Subject: [PATCH] Use Item for REQUESTS storage --- .../contracts/cw-tee-mtcs/src/contract.rs | 15 +++++++-------- .../contracts/cw-tee-mtcs/src/state.rs | 4 ++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/contract.rs b/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/contract.rs index 3c076a3..5063f10 100644 --- a/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/contract.rs +++ b/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/contract.rs @@ -108,13 +108,12 @@ pub mod execute { let _ = deps.api.addr_validate(&address)?; let _ = hex::decode(&nonce); - REQUESTS.push_back( - deps.storage, - &( - nonce, - Request::JoinComputeNode((io_exchange_key.clone(), address)), - ), - )?; + let mut requests = REQUESTS.may_load(deps.storage)?.unwrap_or_default(); + requests.push(( + nonce, + Request::JoinComputeNode((io_exchange_key.clone(), address)), + )); + REQUESTS.save(deps.storage, &requests)?; Ok(Response::new() .add_attribute("action", "enqueue_request") @@ -150,7 +149,7 @@ pub mod query { pub fn get_requests(deps: Deps) -> StdResult { Ok(GetRequestsResponse { - requests: REQUESTS.iter(deps.storage)?.flat_map(|r| r.ok()).collect(), + requests: REQUESTS.load(deps.storage)?, }) } } diff --git a/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/state.rs b/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/state.rs index 3fd17e7..98acc2b 100644 --- a/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/state.rs +++ b/bisenzone-cw-mvp/contracts/cw-tee-mtcs/src/state.rs @@ -1,5 +1,5 @@ use cosmwasm_schema::cw_serde; -use cw_storage_plus::{Deque, Item}; +use cw_storage_plus::Item; pub type RawNonce = String; pub type RawPublicKey = String; @@ -27,5 +27,5 @@ pub struct SgxState { } pub const STATE: Item = Item::new("state"); -pub const REQUESTS: Deque<(RawNonce, Request)> = Deque::new("requests"); +pub const REQUESTS: Item> = Item::new("requests"); pub const SGX_STATE: Item = Item::new("sgxstate");