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

difftreelog

fix appPromotion RPC diasbling, refactor benchmarks, fix `WithdrawReasons`, rename `get_sponsor` to `sponsor` in hadlers traits + change their behavior in impl's blocks

PraetorP2022-09-07parent: #0102052.patch.diff
in: master

11 files changed

modifiednode/rpc/src/lib.rsdiffbeforeafterboth
--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -234,7 +234,7 @@
 
 	io.merge(Unique::new(client.clone()).into_rpc())?;
 
-	#[cfg(any(feature = "opal-runtime"))]
+	#[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
 	io.merge(AppPromotion::new(client.clone()).into_rpc())?;
 
 	#[cfg(not(feature = "unique-runtime"))]
modifiedpallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/benchmarking.rs
+++ b/pallets/app-promotion/src/benchmarking.rs
@@ -30,7 +30,7 @@
 
 const SEED: u32 = 0;
 
-fn set_admin<T>() -> DispatchResult
+fn set_admin<T>() -> Result<T::AccountId, sp_runtime::DispatchError>
 where
 	T: Config + pallet_unique::Config + pallet_evm_migration::Config,
 	T::BlockNumber: From<u32> + Into<u32>,
@@ -46,7 +46,9 @@
 	PromototionPallet::<T>::set_admin_address(
 		RawOrigin::Root.into(),
 		T::CrossAccountId::from_sub(pallet_admin.clone()),
-	)
+	)?;
+
+	Ok(pallet_admin)
 }
 
 benchmarks! {
@@ -73,12 +75,12 @@
 	set_admin_address {
 		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
 		let _ = <T as Config>::Currency::make_free_balance_be(&pallet_admin,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
-	} : {PromototionPallet::<T>::set_admin_address(RawOrigin::Root.into(), T::CrossAccountId::from_sub(pallet_admin))?}
+	} : _(RawOrigin::Root, T::CrossAccountId::from_sub(pallet_admin))
 
 	payout_stakers{
 		let b in 1..101;
 
-		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
+		let pallet_admin = account::<T::AccountId>("admin", 1, SEED);
 		let share = Perbill::from_rational(1u32, 20);
 		PromototionPallet::<T>::set_admin_address(RawOrigin::Root.into(), T::CrossAccountId::from_sub(pallet_admin.clone()))?;
 		<T as Config>::Currency::make_free_balance_be(&pallet_admin,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
@@ -92,22 +94,18 @@
 		(0..10).try_for_each(|_| {
 			stakers.iter()
 				.map(|staker| {
-
 					PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), Into::<BalanceOf<T>>::into(100u128) * T::Nominal::get())
 				}).collect::<Result<Vec<_>, _>>()?;
 			<frame_system::Pallet<T>>::finalize();
 			Result::<(), sp_runtime::DispatchError>::Ok(())
 		})?;
-
-		// let _ = <T as Config>::Currency::make_free_balance_be(&staker,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
-		// let _ = PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), share * <T as Config>::Currency::total_balance(&staker))?;
-	} : {PromototionPallet::<T>::payout_stakers(RawOrigin::Signed(pallet_admin.clone()).into(), Some(b as u8))?}
+	} : _(RawOrigin::Signed(pallet_admin.clone()), Some(b as u8))
 
 	stake {
 		let caller = account::<T::AccountId>("caller", 0, SEED);
 		let share = Perbill::from_rational(1u32, 10);
 		let _ = <T as Config>::Currency::make_free_balance_be(&caller,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
-	} : {PromototionPallet::<T>::stake(RawOrigin::Signed(caller.clone()).into(), share * <T as Config>::Currency::total_balance(&caller))?}
+	} : _(RawOrigin::Signed(caller.clone()), share * <T as Config>::Currency::total_balance(&caller))
 
 	unstake {
 		let caller = account::<T::AccountId>("caller", 0, SEED);
@@ -117,17 +115,8 @@
 			<frame_system::Pallet<T>>::finalize();
 			PromototionPallet::<T>::stake(RawOrigin::Signed(caller.clone()).into(), share * <T as Config>::Currency::total_balance(&caller))
 		}).collect::<Result<Vec<_>, _>>()?;
-
-	} : {PromototionPallet::<T>::unstake(RawOrigin::Signed(caller.clone()).into())?}
 
-	// recalculate_and_insert_stake{
-	// 	let caller = account::<T::AccountId>("caller", 0, SEED);
-	// 	let share = Perbill::from_rational(1u32, 10);
-	// 	let _ = <T as Config>::Currency::make_free_balance_be(&caller,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
-	// 	let _ = PromototionPallet::<T>::stake(RawOrigin::Signed(caller.clone()).into(), share * <T as Config>::Currency::total_balance(&caller))?;
-	// 	let block = <T::RelayBlockNumberProvider as BlockNumberProvider>::current_block_number();
-	// 	let mut acc = <BalanceOf<T>>::default();
-	// } : {PromototionPallet::<T>::recalculate_and_insert_stake(&caller, block, share * <T as Config>::Currency::total_balance(&caller), &mut acc)}
+	} : _(RawOrigin::Signed(caller.clone()))
 
 	sponsor_collection {
 		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
@@ -136,7 +125,7 @@
 		let caller: T::AccountId = account("caller", 0, SEED);
 		let _ = <T as Config>::Currency::make_free_balance_be(&caller,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
 		let collection = create_nft_collection::<T>(caller.clone())?;
-	} : {PromototionPallet::<T>::sponsor_collection(RawOrigin::Signed(pallet_admin.clone()).into(), collection)?}
+	} : _(RawOrigin::Signed(pallet_admin.clone()), collection)
 
 	stop_sponsoring_collection {
 		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
@@ -146,7 +135,7 @@
 		let _ = <T as Config>::Currency::make_free_balance_be(&caller,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
 		let collection = create_nft_collection::<T>(caller.clone())?;
 		PromototionPallet::<T>::sponsor_collection(RawOrigin::Signed(pallet_admin.clone()).into(), collection)?;
-	} : {PromototionPallet::<T>::stop_sponsoring_collection(RawOrigin::Signed(pallet_admin.clone()).into(), collection)?}
+	} : _(RawOrigin::Signed(pallet_admin.clone()), collection)
 
 	sponsor_contract {
 		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
@@ -157,7 +146,7 @@
 		let data: Vec<u8> = (0..20 as u8).collect();
 		<EvmMigrationPallet<T>>::begin(RawOrigin::Root.into(), address)?;
 		<EvmMigrationPallet<T>>::finish(RawOrigin::Root.into(), address, data)?;
-	} : {PromototionPallet::<T>::sponsor_conract(RawOrigin::Signed(pallet_admin.clone()).into(), address)?}
+	} : _(RawOrigin::Signed(pallet_admin.clone()), address)
 
 	stop_sponsoring_contract {
 		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
@@ -168,6 +157,6 @@
 		let data: Vec<u8> = (0..20 as u8).collect();
 		<EvmMigrationPallet<T>>::begin(RawOrigin::Root.into(), address)?;
 		<EvmMigrationPallet<T>>::finish(RawOrigin::Root.into(), address, data)?;
-		PromototionPallet::<T>::sponsor_conract(RawOrigin::Signed(pallet_admin.clone()).into(), address)?;
-	} : {PromototionPallet::<T>::stop_sponsoring_contract(RawOrigin::Signed(pallet_admin.clone()).into(), address)?}
+		PromototionPallet::<T>::sponsor_contract(RawOrigin::Signed(pallet_admin.clone()).into(), address)?;
+	} : _(RawOrigin::Signed(pallet_admin.clone()), address)
 }
modifiedpallets/app-promotion/src/lib.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -226,12 +226,6 @@
 		where
 			<T as frame_system::Config>::BlockNumber: From<u32>,
 		{
-			// let mut consumed_weight = 0;
-			// let mut add_weight = |reads, writes, weight| {
-			// 	consumed_weight += T::DbWeight::get().reads_writes(reads, writes);
-			// 	consumed_weight += weight;
-			// };
-
 			let block_pending = PendingUnstake::<T>::take(current_block_number);
 			let counter = block_pending.len() as u32;
 			// add_weight(0, 1, 0);
@@ -243,7 +237,6 @@
 			}
 
 			T::WeightInfo::on_initialize(counter)
-			// consumed_weight
 		}
 	}
 
@@ -286,7 +279,7 @@
 			<<T as Config>::Currency as Currency<T::AccountId>>::ensure_can_withdraw(
 				&staker_id,
 				amount,
-				WithdrawReasons::RESERVE,
+				WithdrawReasons::all(),
 				balance - amount,
 			)?;
 
@@ -398,8 +391,7 @@
 			);
 
 			ensure!(
-				T::CollectionHandler::get_sponsor(collection_id)?
-					.ok_or(<Error<T>>::InvalidArgument)?
+				T::CollectionHandler::sponsor(collection_id)?.ok_or(<Error<T>>::InvalidArgument)?
 					== Self::account_id(),
 				<Error<T>>::NoPermission
 			);
@@ -407,7 +399,7 @@
 		}
 
 		#[pallet::weight(T::WeightInfo::sponsor_contract())]
-		pub fn sponsor_conract(admin: OriginFor<T>, contract_id: H160) -> DispatchResult {
+		pub fn sponsor_contract(admin: OriginFor<T>, contract_id: H160) -> DispatchResult {
 			let admin_id = ensure_signed(admin)?;
 
 			ensure!(
@@ -431,7 +423,7 @@
 			);
 
 			ensure!(
-				T::ContractHandler::get_sponsor(contract_id)?.ok_or(<Error<T>>::InvalidArgument)?
+				T::ContractHandler::sponsor(contract_id)?.ok_or(<Error<T>>::InvalidArgument)?
 					== T::CrossAccountId::from_sub(Self::account_id()),
 				<Error<T>>::NoPermission
 			);
@@ -673,7 +665,7 @@
 				LOCK_IDENTIFIER,
 				staker,
 				amount,
-				WithdrawReasons::RESERVE,
+				WithdrawReasons::all(),
 			)
 		}
 	}
modifiedpallets/app-promotion/src/types.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/types.rs
+++ b/pallets/app-promotion/src/types.rs
@@ -37,9 +37,8 @@
 
 	fn remove_collection_sponsor(collection_id: Self::CollectionId) -> DispatchResult;
 
-	fn get_sponsor(
-		collection_id: Self::CollectionId,
-	) -> Result<Option<Self::AccountId>, DispatchError>;
+	fn sponsor(collection_id: Self::CollectionId)
+		-> Result<Option<Self::AccountId>, DispatchError>;
 }
 
 impl<T: pallet_unique::Config> CollectionHandler for pallet_unique::Pallet<T> {
@@ -58,12 +57,12 @@
 		Self::force_remove_collection_sponsor(collection_id)
 	}
 
-	fn get_sponsor(
+	fn sponsor(
 		collection_id: Self::CollectionId,
 	) -> Result<Option<Self::AccountId>, DispatchError> {
 		Ok(<CollectionHandle<T>>::try_get(collection_id)?
 			.sponsorship
-			.pending_sponsor()
+			.sponsor()
 			.map(|acc| acc.to_owned()))
 	}
 }
@@ -79,7 +78,7 @@
 
 	fn remove_contract_sponsor(contract_address: Self::ContractId) -> DispatchResult;
 
-	fn get_sponsor(
+	fn sponsor(
 		contract_address: Self::ContractId,
 	) -> Result<Option<Self::AccountId>, DispatchError>;
 }
@@ -100,7 +99,7 @@
 		Self::force_remove_sponsor(contract_address)
 	}
 
-	fn get_sponsor(
+	fn sponsor(
 		contract_address: Self::ContractId,
 	) -> Result<Option<Self::AccountId>, DispatchError> {
 		Ok(Self::get_sponsor(contract_address))
modifiedpallets/app-promotion/src/weights.rsdiffbeforeafterboth
3//! Autogenerated weights for pallet_app_promotion3//! Autogenerated weights for pallet_app_promotion
4//!4//!
5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
6//! DATE: 2022-09-06, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`6//! DATE: 2022-09-07, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
7//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 10247//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
88
9// Executed Command:9// Executed Command:
51 // Storage: AppPromotion PendingUnstake (r:1 w:0)51 // Storage: AppPromotion PendingUnstake (r:1 w:0)
52 // Storage: System Account (r:1 w:1)52 // Storage: System Account (r:1 w:1)
53 fn on_initialize(b: u32, ) -> Weight {53 fn on_initialize(b: u32, ) -> Weight {
54 (2_461_000 as Weight)54 (2_651_000 as Weight)
55 // Standard Error: 87_00055 // Standard Error: 103_000
56 .saturating_add((6_006_000 as Weight).saturating_mul(b as Weight))56 .saturating_add((6_024_000 as Weight).saturating_mul(b as Weight))
57 .saturating_add(T::DbWeight::get().reads(1 as Weight))57 .saturating_add(T::DbWeight::get().reads(1 as Weight))
58 .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))58 .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
59 .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))59 .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
60 }60 }
61 // Storage: AppPromotion Admin (r:0 w:1)61 // Storage: AppPromotion Admin (r:0 w:1)
62 fn set_admin_address() -> Weight {62 fn set_admin_address() -> Weight {
63 (5_467_000 as Weight)63 (7_117_000 as Weight)
64 .saturating_add(T::DbWeight::get().writes(1 as Weight))64 .saturating_add(T::DbWeight::get().writes(1 as Weight))
65 }65 }
66 // Storage: AppPromotion Admin (r:1 w:0)66 // Storage: AppPromotion Admin (r:1 w:0)
67 // Storage: ParachainSystem ValidationData (r:1 w:0)67 // Storage: ParachainSystem ValidationData (r:1 w:0)
68 // Storage: AppPromotion NextCalculatedRecord (r:1 w:1)68 // Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
69 // Storage: AppPromotion Staked (r:2 w:0)69 // Storage: AppPromotion Staked (r:2 w:0)
70 fn payout_stakers(b: u32, ) -> Weight {70 fn payout_stakers(b: u32, ) -> Weight {
71 (4_946_000 as Weight)71 (9_958_000 as Weight)
72 // Standard Error: 5_00072 // Standard Error: 8_000
73 .saturating_add((4_599_000 as Weight).saturating_mul(b as Weight))73 .saturating_add((4_406_000 as Weight).saturating_mul(b as Weight))
74 .saturating_add(T::DbWeight::get().reads(4 as Weight))74 .saturating_add(T::DbWeight::get().reads(4 as Weight))
75 .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))75 .saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
76 .saturating_add(T::DbWeight::get().writes(1 as Weight))76 .saturating_add(T::DbWeight::get().writes(1 as Weight))
77 }77 }
78 // Storage: System Account (r:1 w:1)
79 // Storage: AppPromotion StakesPerAccount (r:1 w:1)78 // Storage: AppPromotion StakesPerAccount (r:1 w:1)
79 // Storage: System Account (r:1 w:1)
80 // Storage: Balances Locks (r:1 w:1)80 // Storage: Balances Locks (r:1 w:1)
81 // Storage: ParachainSystem ValidationData (r:1 w:0)81 // Storage: ParachainSystem ValidationData (r:1 w:0)
82 // Storage: AppPromotion Staked (r:1 w:1)82 // Storage: AppPromotion Staked (r:1 w:1)
83 // Storage: AppPromotion TotalStaked (r:1 w:1)83 // Storage: AppPromotion TotalStaked (r:1 w:1)
84 fn stake() -> Weight {84 fn stake() -> Weight {
85 (17_766_000 as Weight)85 (20_574_000 as Weight)
86 .saturating_add(T::DbWeight::get().reads(6 as Weight))86 .saturating_add(T::DbWeight::get().reads(6 as Weight))
87 .saturating_add(T::DbWeight::get().writes(5 as Weight))87 .saturating_add(T::DbWeight::get().writes(5 as Weight))
88 }88 }
93 // Storage: AppPromotion TotalStaked (r:1 w:1)93 // Storage: AppPromotion TotalStaked (r:1 w:1)
94 // Storage: AppPromotion StakesPerAccount (r:0 w:1)94 // Storage: AppPromotion StakesPerAccount (r:0 w:1)
95 fn unstake() -> Weight {95 fn unstake() -> Weight {
96 (27_250_000 as Weight)96 (31_703_000 as Weight)
97 .saturating_add(T::DbWeight::get().reads(6 as Weight))97 .saturating_add(T::DbWeight::get().reads(6 as Weight))
98 .saturating_add(T::DbWeight::get().writes(6 as Weight))98 .saturating_add(T::DbWeight::get().writes(6 as Weight))
99 }99 }
100 // Storage: AppPromotion Admin (r:1 w:0)100 // Storage: AppPromotion Admin (r:1 w:0)
101 // Storage: Common CollectionById (r:1 w:1)101 // Storage: Common CollectionById (r:1 w:1)
102 fn sponsor_collection() -> Weight {102 fn sponsor_collection() -> Weight {
103 (11_014_000 as Weight)103 (12_932_000 as Weight)
104 .saturating_add(T::DbWeight::get().reads(2 as Weight))104 .saturating_add(T::DbWeight::get().reads(2 as Weight))
105 .saturating_add(T::DbWeight::get().writes(1 as Weight))105 .saturating_add(T::DbWeight::get().writes(1 as Weight))
106 }106 }
107 // Storage: AppPromotion Admin (r:1 w:0)107 // Storage: AppPromotion Admin (r:1 w:0)
108 // Storage: Common CollectionById (r:1 w:1)108 // Storage: Common CollectionById (r:1 w:1)
109 fn stop_sponsoring_collection() -> Weight {109 fn stop_sponsoring_collection() -> Weight {
110 (10_494_000 as Weight)110 (12_453_000 as Weight)
111 .saturating_add(T::DbWeight::get().reads(2 as Weight))111 .saturating_add(T::DbWeight::get().reads(2 as Weight))
112 .saturating_add(T::DbWeight::get().writes(1 as Weight))112 .saturating_add(T::DbWeight::get().writes(1 as Weight))
113 }113 }
114 // Storage: AppPromotion Admin (r:1 w:0)114 // Storage: AppPromotion Admin (r:1 w:0)
115 // Storage: EvmContractHelpers Sponsoring (r:0 w:1)115 // Storage: EvmContractHelpers Sponsoring (r:0 w:1)
116 fn sponsor_contract() -> Weight {116 fn sponsor_contract() -> Weight {
117 (9_754_000 as Weight)117 (11_952_000 as Weight)
118 .saturating_add(T::DbWeight::get().reads(1 as Weight))118 .saturating_add(T::DbWeight::get().reads(1 as Weight))
119 .saturating_add(T::DbWeight::get().writes(1 as Weight))119 .saturating_add(T::DbWeight::get().writes(1 as Weight))
120 }120 }
121 // Storage: AppPromotion Admin (r:1 w:0)121 // Storage: AppPromotion Admin (r:1 w:0)
122 // Storage: EvmContractHelpers Sponsoring (r:1 w:1)122 // Storage: EvmContractHelpers Sponsoring (r:1 w:1)
123 fn stop_sponsoring_contract() -> Weight {123 fn stop_sponsoring_contract() -> Weight {
124 (10_063_000 as Weight)124 (12_538_000 as Weight)
125 .saturating_add(T::DbWeight::get().reads(2 as Weight))125 .saturating_add(T::DbWeight::get().reads(2 as Weight))
126 .saturating_add(T::DbWeight::get().writes(1 as Weight))126 .saturating_add(T::DbWeight::get().writes(1 as Weight))
127 }127 }
132 // Storage: AppPromotion PendingUnstake (r:1 w:0)132 // Storage: AppPromotion PendingUnstake (r:1 w:0)
133 // Storage: System Account (r:1 w:1)133 // Storage: System Account (r:1 w:1)
134 fn on_initialize(b: u32, ) -> Weight {134 fn on_initialize(b: u32, ) -> Weight {
135 (2_461_000 as Weight)135 (2_651_000 as Weight)
136 // Standard Error: 87_000136 // Standard Error: 103_000
137 .saturating_add((6_006_000 as Weight).saturating_mul(b as Weight))137 .saturating_add((6_024_000 as Weight).saturating_mul(b as Weight))
138 .saturating_add(RocksDbWeight::get().reads(1 as Weight))138 .saturating_add(RocksDbWeight::get().reads(1 as Weight))
139 .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))139 .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
140 .saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))140 .saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
141 }141 }
142 // Storage: AppPromotion Admin (r:0 w:1)142 // Storage: AppPromotion Admin (r:0 w:1)
143 fn set_admin_address() -> Weight {143 fn set_admin_address() -> Weight {
144 (5_467_000 as Weight)144 (7_117_000 as Weight)
145 .saturating_add(RocksDbWeight::get().writes(1 as Weight))145 .saturating_add(RocksDbWeight::get().writes(1 as Weight))
146 }146 }
147 // Storage: AppPromotion Admin (r:1 w:0)147 // Storage: AppPromotion Admin (r:1 w:0)
148 // Storage: ParachainSystem ValidationData (r:1 w:0)148 // Storage: ParachainSystem ValidationData (r:1 w:0)
149 // Storage: AppPromotion NextCalculatedRecord (r:1 w:1)149 // Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
150 // Storage: AppPromotion Staked (r:2 w:0)150 // Storage: AppPromotion Staked (r:2 w:0)
151 fn payout_stakers(b: u32, ) -> Weight {151 fn payout_stakers(b: u32, ) -> Weight {
152 (4_946_000 as Weight)152 (9_958_000 as Weight)
153 // Standard Error: 5_000153 // Standard Error: 8_000
154 .saturating_add((4_599_000 as Weight).saturating_mul(b as Weight))154 .saturating_add((4_406_000 as Weight).saturating_mul(b as Weight))
155 .saturating_add(RocksDbWeight::get().reads(4 as Weight))155 .saturating_add(RocksDbWeight::get().reads(4 as Weight))
156 .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))156 .saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
157 .saturating_add(RocksDbWeight::get().writes(1 as Weight))157 .saturating_add(RocksDbWeight::get().writes(1 as Weight))
158 }158 }
159 // Storage: System Account (r:1 w:1)
160 // Storage: AppPromotion StakesPerAccount (r:1 w:1)159 // Storage: AppPromotion StakesPerAccount (r:1 w:1)
160 // Storage: System Account (r:1 w:1)
161 // Storage: Balances Locks (r:1 w:1)161 // Storage: Balances Locks (r:1 w:1)
162 // Storage: ParachainSystem ValidationData (r:1 w:0)162 // Storage: ParachainSystem ValidationData (r:1 w:0)
163 // Storage: AppPromotion Staked (r:1 w:1)163 // Storage: AppPromotion Staked (r:1 w:1)
164 // Storage: AppPromotion TotalStaked (r:1 w:1)164 // Storage: AppPromotion TotalStaked (r:1 w:1)
165 fn stake() -> Weight {165 fn stake() -> Weight {
166 (17_766_000 as Weight)166 (20_574_000 as Weight)
167 .saturating_add(RocksDbWeight::get().reads(6 as Weight))167 .saturating_add(RocksDbWeight::get().reads(6 as Weight))
168 .saturating_add(RocksDbWeight::get().writes(5 as Weight))168 .saturating_add(RocksDbWeight::get().writes(5 as Weight))
169 }169 }
174 // Storage: AppPromotion TotalStaked (r:1 w:1)174 // Storage: AppPromotion TotalStaked (r:1 w:1)
175 // Storage: AppPromotion StakesPerAccount (r:0 w:1)175 // Storage: AppPromotion StakesPerAccount (r:0 w:1)
176 fn unstake() -> Weight {176 fn unstake() -> Weight {
177 (27_250_000 as Weight)177 (31_703_000 as Weight)
178 .saturating_add(RocksDbWeight::get().reads(6 as Weight))178 .saturating_add(RocksDbWeight::get().reads(6 as Weight))
179 .saturating_add(RocksDbWeight::get().writes(6 as Weight))179 .saturating_add(RocksDbWeight::get().writes(6 as Weight))
180 }180 }
181 // Storage: AppPromotion Admin (r:1 w:0)181 // Storage: AppPromotion Admin (r:1 w:0)
182 // Storage: Common CollectionById (r:1 w:1)182 // Storage: Common CollectionById (r:1 w:1)
183 fn sponsor_collection() -> Weight {183 fn sponsor_collection() -> Weight {
184 (11_014_000 as Weight)184 (12_932_000 as Weight)
185 .saturating_add(RocksDbWeight::get().reads(2 as Weight))185 .saturating_add(RocksDbWeight::get().reads(2 as Weight))
186 .saturating_add(RocksDbWeight::get().writes(1 as Weight))186 .saturating_add(RocksDbWeight::get().writes(1 as Weight))
187 }187 }
188 // Storage: AppPromotion Admin (r:1 w:0)188 // Storage: AppPromotion Admin (r:1 w:0)
189 // Storage: Common CollectionById (r:1 w:1)189 // Storage: Common CollectionById (r:1 w:1)
190 fn stop_sponsoring_collection() -> Weight {190 fn stop_sponsoring_collection() -> Weight {
191 (10_494_000 as Weight)191 (12_453_000 as Weight)
192 .saturating_add(RocksDbWeight::get().reads(2 as Weight))192 .saturating_add(RocksDbWeight::get().reads(2 as Weight))
193 .saturating_add(RocksDbWeight::get().writes(1 as Weight))193 .saturating_add(RocksDbWeight::get().writes(1 as Weight))
194 }194 }
195 // Storage: AppPromotion Admin (r:1 w:0)195 // Storage: AppPromotion Admin (r:1 w:0)
196 // Storage: EvmContractHelpers Sponsoring (r:0 w:1)196 // Storage: EvmContractHelpers Sponsoring (r:0 w:1)
197 fn sponsor_contract() -> Weight {197 fn sponsor_contract() -> Weight {
198 (9_754_000 as Weight)198 (11_952_000 as Weight)
199 .saturating_add(RocksDbWeight::get().reads(1 as Weight))199 .saturating_add(RocksDbWeight::get().reads(1 as Weight))
200 .saturating_add(RocksDbWeight::get().writes(1 as Weight))200 .saturating_add(RocksDbWeight::get().writes(1 as Weight))
201 }201 }
202 // Storage: AppPromotion Admin (r:1 w:0)202 // Storage: AppPromotion Admin (r:1 w:0)
203 // Storage: EvmContractHelpers Sponsoring (r:1 w:1)203 // Storage: EvmContractHelpers Sponsoring (r:1 w:1)
204 fn stop_sponsoring_contract() -> Weight {204 fn stop_sponsoring_contract() -> Weight {
205 (10_063_000 as Weight)205 (12_538_000 as Weight)
206 .saturating_add(RocksDbWeight::get().reads(2 as Weight))206 .saturating_add(RocksDbWeight::get().reads(2 as Weight))
207 .saturating_add(RocksDbWeight::get().writes(1 as Weight))207 .saturating_add(RocksDbWeight::get().writes(1 as Weight))
208 }208 }
modifiedtests/src/app-promotion.test.tsdiffbeforeafterboth
--- a/tests/src/app-promotion.test.ts
+++ b/tests/src/app-promotion.test.ts
@@ -460,7 +460,7 @@
       const flipper = await deployFlipper(web3, contractOwner);
       const contractMethods = contractHelpers(web3, contractOwner);
 
-      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address));
+      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address));
       
       expect(await contractMethods.methods.hasSponsor(flipper.options.address).call()).to.be.true;  
       expect((await api.query.evmContractHelpers.owner(flipper.options.address)).toJSON()).to.be.equal(contractOwner);  
@@ -488,7 +488,7 @@
       });
 
       // set promotion sponsoring
-      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address));
+      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address));
 
       // new sponsor is pallet address
       expect(await contractMethods.methods.hasSponsor(flipper.options.address).call()).to.be.true;  
@@ -508,7 +508,7 @@
       const contractMethods = contractHelpers(web3, contractOwner);
 
       // contract sponsored by pallet
-      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address));
+      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address));
 
       // owner sets self sponsoring
       await expect(contractMethods.methods.selfSponsoredEnable(flipper.options.address).send()).to.be.not.rejected;
@@ -532,8 +532,8 @@
 
       await expect(contractMethods.methods.selfSponsoredEnable(flipper.options.address).send()).to.be.not.rejected;
 
-      // nonAdmin calls sponsorConract
-      await expect(helper.signTransaction(nonAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address))).to.be.rejected;
+      // nonAdmin calls sponsorContract
+      await expect(helper.signTransaction(nonAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address))).to.be.rejected;
 
       // contract still self-sponsored 
       expect((await api.query.evmContractHelpers.sponsoring(flipper.options.address)).toJSON()).to.deep.equal({
@@ -560,7 +560,7 @@
       await contractHelper.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Generous).send({from: contractOwner});
       await transferBalanceToEth(api, alice, flipper.options.address, 1000n);
 
-      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address));
+      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address));
       await flipper.methods.flip().send({from: caller});
       expect(await flipper.methods.getValue().call()).to.be.true;
 
@@ -582,7 +582,7 @@
       await transferBalanceToEth(api, alice, flipper.options.address);
       const contractHelper = contractHelpers(web3, contractOwner);
       await contractHelper.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Generous).send({from: contractOwner});
-      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address));
+      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address));
       await helper.signTransaction(palletAdmin, api.tx.appPromotion.stopSponsoringContract(flipper.options.address));
 
       expect(await contractHelper.methods.hasSponsor(flipper.options.address).call()).to.be.false;  
@@ -609,7 +609,7 @@
       const contractOwner = (await createEthAccountWithBalance(api, web3, privateKeyWrapper)).toLowerCase();
       const flipper = await deployFlipper(web3, contractOwner);
 
-      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorConract(flipper.options.address));
+      await helper.signTransaction(palletAdmin, api.tx.appPromotion.sponsorContract(flipper.options.address));
       await expect(helper.signTransaction(nonAdmin, api.tx.appPromotion.stopSponsoringContract(flipper.options.address))).to.be.rejected;
     });
   });
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -21,7 +21,7 @@
       payoutStakers: AugmentedSubmittable<(stakersNumber: Option<u8> | null | Uint8Array | u8 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u8>]>;
       setAdminAddress: AugmentedSubmittable<(admin: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr]>;
       sponsorCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
-      sponsorConract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;
+      sponsorContract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;
       stake: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;
       stopSponsoringCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       stopSponsoringContract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -825,8 +825,8 @@
   readonly asStopSponsoringCollection: {
     readonly collectionId: u32;
   } & Struct;
-  readonly isSponsorConract: boolean;
-  readonly asSponsorConract: {
+  readonly isSponsorContract: boolean;
+  readonly asSponsorContract: {
     readonly contractId: H160;
   } & Struct;
   readonly isStopSponsoringContract: boolean;
@@ -837,7 +837,7 @@
   readonly asPayoutStakers: {
     readonly stakersNumber: Option<u8>;
   } & Struct;
-  readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorConract' | 'StopSponsoringContract' | 'PayoutStakers';
+  readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
 }
 
 /** @name PalletAppPromotionError */
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -2483,7 +2483,7 @@
       stop_sponsoring_collection: {
         collectionId: 'u32',
       },
-      sponsor_conract: {
+      sponsor_contract: {
         contractId: 'H160',
       },
       stop_sponsoring_contract: {
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -2695,8 +2695,8 @@
     readonly asStopSponsoringCollection: {
       readonly collectionId: u32;
     } & Struct;
-    readonly isSponsorConract: boolean;
-    readonly asSponsorConract: {
+    readonly isSponsorContract: boolean;
+    readonly asSponsorContract: {
       readonly contractId: H160;
     } & Struct;
     readonly isStopSponsoringContract: boolean;
@@ -2707,7 +2707,7 @@
     readonly asPayoutStakers: {
       readonly stakersNumber: Option<u8>;
     } & Struct;
-    readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorConract' | 'StopSponsoringContract' | 'PayoutStakers';
+    readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
   }
 
   /** @name PalletEvmCall (307) */
modifiedtests/src/pallet-presence.test.tsdiffbeforeafterboth
--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -68,7 +68,7 @@
       const refungible = 'refungible';
       const scheduler = 'scheduler';
       const rmrkPallets = ['rmrkcore', 'rmrkequip'];
-      const appPromotion = 'promotion';
+      const appPromotion = 'apppromotion';
 
       if (chain.eq('OPAL by UNIQUE')) {
         requiredPallets.push(refungible, scheduler, appPromotion, ...rmrkPallets);