git.delta.rocks / unique-network / refs/commits / ec123decb7f3

difftreelog

fix Events for contract sponsoring.

Trubnikov Sergey2022-09-05parent: #d190a67.patch.diff
in: master

2 files changed

modifiedpallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth
126126
127 Pallet::<T>::force_set_sponsor(&T::CrossAccountId::from_eth(caller), contract_address)127 Pallet::<T>::force_set_sponsor(
128 &T::CrossAccountId::from_eth(caller),
129 contract_address,
130 &T::CrossAccountId::from_eth(contract_address),
131 )
128 .map_err(dispatch_to_evm::<T>)?;132 .map_err(dispatch_to_evm::<T>)?;
129133
modifiedpallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -219,7 +219,11 @@
 		/// Set sponsor as already confirmed.
 		///
 		/// `sender` must be owner of contract.
-		pub fn force_set_sponsor(sender: &T::CrossAccountId, contract: H160) -> DispatchResult {
+		pub fn force_set_sponsor(
+			sender: &T::CrossAccountId,
+			contract: H160,
+			sponsor: &T::CrossAccountId,
+		) -> DispatchResult {
 			Pallet::<T>::ensure_owner(contract, *sender.as_eth())?;
 			Sponsoring::<T>::insert(
 				contract,
@@ -227,6 +231,34 @@
 					contract,
 				)),
 			);
+
+			let eth_sponsor = *sponsor.as_eth();
+			let sub_sponsor = sponsor.as_sub().clone();
+
+			<Pallet<T>>::deposit_event(Event::<T>::ContractSponsorSet(
+				contract,
+				sub_sponsor.clone(),
+			));
+			<PalletEvm<T>>::deposit_log(
+				ContractHelpersEvents::ContractSponsorSet {
+					contract,
+					sponsor: eth_sponsor,
+				}
+				.to_log(contract),
+			);
+
+			<Pallet<T>>::deposit_event(Event::<T>::ContractSponsorshipConfirmed(
+				contract,
+				sub_sponsor,
+			));
+			<PalletEvm<T>>::deposit_log(
+				ContractHelpersEvents::ContractSponsorshipConfirmed {
+					contract,
+					sponsor: eth_sponsor,
+				}
+				.to_log(contract),
+			);
+
 			Ok(())
 		}