From dfef066954f6099f41403413be8160d80b700b2a Mon Sep 17 00:00:00 2001 From: Kaloyan Gangov <6922910+gangov@users.noreply.github.com> Date: Fri, 30 Aug 2024 13:20:31 +0300 Subject: [PATCH] fixes a bug in get_all_by_seller --- contracts/auctions/src/storage.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contracts/auctions/src/storage.rs b/contracts/auctions/src/storage.rs index 83a1c08c..56128c3f 100644 --- a/contracts/auctions/src/storage.rs +++ b/contracts/auctions/src/storage.rs @@ -117,7 +117,10 @@ pub fn save_auction_by_seller( let mut seller_auctions_list: Vec = env.storage().instance().get(seller).unwrap_or(vec![&env]); - seller_auctions_list.push_back(auction.clone()); + match seller_auctions_list.iter().position(|a| a.id == auction.id) { + Some(existing_idx) => seller_auctions_list.set(existing_idx as u32, auction.clone()), + None => seller_auctions_list.push_back(auction.clone()), + }; env.storage().instance().set(seller, &seller_auctions_list);