--- a/pallets/evm-contract-helpers/src/eth.rs +++ b/pallets/evm-contract-helpers/src/eth.rs @@ -22,8 +22,9 @@ account::CrossAccountId, }; use sp_core::H160; +use up_data_structs::SponsorshipState; use crate::{ - AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringRateLimit, SponsoringModeT, + AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringRateLimit, SponsoringModeT, Sponsoring, }; use frame_support::traits::Get; use up_sponsorship::SponsorshipHandler; @@ -81,6 +82,13 @@ Ok(Pallet::::get_sponsor(contract_address).is_some()) } + fn has_pending_sponsor(&self, contract_address: address) -> Result { + Ok(match Sponsoring::::get(contract_address) { + SponsorshipState::Disabled | SponsorshipState::Confirmed(_) => false, + SponsorshipState::Unconfirmed(_) => true, + }) + } + fn sponsoring_enabled(&self, contract_address: address) -> Result { Ok(>::sponsoring_mode(contract_address) != SponsoringModeT::Disabled) }