From 136086fffaf3b156ab294c2bb96bda968edf2b00 Mon Sep 17 00:00:00 2001
From: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
Date: Wed, 1 Feb 2023 18:17:05 +0100
Subject: [PATCH] Calling proxy doesn't remove announcement (#13267)

* Calling proxy doesn't remove announcement

* Update frame/proxy/src/tests.rs

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* fmt

---------

Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
---
 substrate/frame/proxy/src/lib.rs   |  2 --
 substrate/frame/proxy/src/tests.rs | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/substrate/frame/proxy/src/lib.rs b/substrate/frame/proxy/src/lib.rs
index d98534d16a2..dfe8c86ca50 100644
--- a/substrate/frame/proxy/src/lib.rs
+++ b/substrate/frame/proxy/src/lib.rs
@@ -183,8 +183,6 @@ pub mod pallet {
 		/// Dispatch the given `call` from an account that the sender is authorised for through
 		/// `add_proxy`.
 		///
-		/// Removes any corresponding announcement(s).
-		///
 		/// The dispatch origin for this call must be _Signed_.
 		///
 		/// Parameters:
diff --git a/substrate/frame/proxy/src/tests.rs b/substrate/frame/proxy/src/tests.rs
index 3eb3ab37053..0e7db3512f1 100644
--- a/substrate/frame/proxy/src/tests.rs
+++ b/substrate/frame/proxy/src/tests.rs
@@ -288,6 +288,23 @@ fn announcer_must_be_proxy() {
 	});
 }
 
+#[test]
+fn calling_proxy_doesnt_remove_announcement() {
+	new_test_ext().execute_with(|| {
+		assert_ok!(Proxy::add_proxy(RuntimeOrigin::signed(1), 2, ProxyType::Any, 0));
+
+		let call = Box::new(call_transfer(6, 1));
+		let call_hash = BlakeTwo256::hash_of(&call);
+
+		assert_ok!(Proxy::announce(RuntimeOrigin::signed(2), 1, call_hash));
+		assert_ok!(Proxy::proxy(RuntimeOrigin::signed(2), 1, None, call));
+
+		// The announcement is not removed by calling proxy.
+		let announcements = Announcements::<Test>::get(2);
+		assert_eq!(announcements.0, vec![Announcement { real: 1, call_hash, height: 1 }]);
+	});
+}
+
 #[test]
 fn delayed_requires_pre_announcement() {
 	new_test_ext().execute_with(|| {
-- 
GitLab