From 5164793e3d033ce4c7b0ecaf245310bcda1d5140 Mon Sep 17 00:00:00 2001 From: Nimish Agrawal Date: Wed, 24 Jul 2024 09:58:17 +0530 Subject: [PATCH] feat: implement `batch_get_name_price()` fn (#119) --- src/azns_registry/lib.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/azns_registry/lib.rs b/src/azns_registry/lib.rs index 4755096..f583acc 100644 --- a/src/azns_registry/lib.rs +++ b/src/azns_registry/lib.rs @@ -1367,6 +1367,17 @@ mod azns_registry { Ok((base_price, premium, discount, referrer_addr)) } + #[ink(message)] + pub fn batch_get_name_price( + &self, + input: Vec<(String, AccountId, u8, Option)>, + ) -> Vec)>> { + input + .into_iter() + .map(|item| self.get_name_price(item.0, item.1, item.2, item.3)) + .collect() + } + #[ink(message)] pub fn validate_referrer(&self, recipient: AccountId, referrer_name: String) -> bool { self.get_address_dict_ref(&referrer_name) @@ -2796,6 +2807,20 @@ mod tests { ); } + #[ink::test] + fn batch_get_name_price_works() { + let contract = get_test_name_service(); + let inp = vec![ + ("alice".to_string(), default_accounts().alice, 1, None), + ("bob".to_string(), default_accounts().bob, 2, None), + ]; + + assert_eq!( + contract.batch_get_name_price(inp), + vec![Ok((1000, 0, 0, None)), Ok((1000, 0, 0, None))] + ) + } + #[ink::test] fn referral_system_works() { let default_accounts = default_accounts();