difftreelog
fix Events for contract sponsoring.
in: master
2 files changed
pallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -124,8 +124,12 @@
self.recorder().consume_sload()?;
self.recorder().consume_sstore()?;
- Pallet::<T>::force_set_sponsor(&T::CrossAccountId::from_eth(caller), contract_address)
- .map_err(dispatch_to_evm::<T>)?;
+ Pallet::<T>::force_set_sponsor(
+ &T::CrossAccountId::from_eth(caller),
+ contract_address,
+ &T::CrossAccountId::from_eth(contract_address),
+ )
+ .map_err(dispatch_to_evm::<T>)?;
Ok(())
}
pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth221 /// `sender` must be owner of contract.221 /// `sender` must be owner of contract.222 pub fn force_set_sponsor(sender: &T::CrossAccountId, contract: H160) -> DispatchResult {222 pub fn force_set_sponsor(223 sender: &T::CrossAccountId,224 contract: H160,225 sponsor: &T::CrossAccountId,226 ) -> DispatchResult {223 Pallet::<T>::ensure_owner(contract, *sender.as_eth())?;227 Pallet::<T>::ensure_owner(contract, *sender.as_eth())?;224 Sponsoring::<T>::insert(228 Sponsoring::<T>::insert(228 )),232 )),229 );233 );234235 let eth_sponsor = *sponsor.as_eth();236 let sub_sponsor = sponsor.as_sub().clone();237238 <Pallet<T>>::deposit_event(Event::<T>::ContractSponsorSet(239 contract,240 sub_sponsor.clone(),241 ));242 <PalletEvm<T>>::deposit_log(243 ContractHelpersEvents::ContractSponsorSet {244 contract,245 sponsor: eth_sponsor,246 }247 .to_log(contract),248 );249250 <Pallet<T>>::deposit_event(Event::<T>::ContractSponsorshipConfirmed(251 contract,252 sub_sponsor,253 ));254 <PalletEvm<T>>::deposit_log(255 ContractHelpersEvents::ContractSponsorshipConfirmed {256 contract,257 sponsor: eth_sponsor,258 }259 .to_log(contract),260 );261230 Ok(())262 Ok(())231 }263 }