snowbridge_test_utils/
mock_rewards.rs1use bp_relayers::{PaymentProcedure, RewardLedger, RewardsAccountOwner, RewardsAccountParams};
4use codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen};
5use frame_support::{pallet_prelude::DispatchResult, parameter_types, sp_runtime};
6use scale_info::TypeInfo;
7use xcm::opaque::latest::Location;
8
9#[derive(
11 Clone,
12 Copy,
13 Debug,
14 Decode,
15 DecodeWithMemTracking,
16 Encode,
17 Eq,
18 MaxEncodedLen,
19 PartialEq,
20 TypeInfo,
21)]
22pub enum BridgeReward {
23 Snowbridge,
25}
26
27pub struct MockPaymentProcedure;
28
29impl PaymentProcedure<sp_runtime::AccountId32, RewardsAccountParams<u64>, u128>
31 for MockPaymentProcedure
32{
33 type Error = DispatchResult;
34 type Beneficiary = Location;
35 fn pay_reward(
36 _who: &sp_runtime::AccountId32,
37 _reward_params: bp_relayers::RewardsAccountParams<u64>,
38 _reward_balance: u128,
39 _beneficiary: Self::Beneficiary,
40 ) -> Result<(), Self::Error> {
41 Ok(())
42 }
43}
44
45impl From<BridgeReward> for RewardsAccountParams<u64> {
46 fn from(_bridge_reward: BridgeReward) -> Self {
47 RewardsAccountParams::new(1, [0; 4], RewardsAccountOwner::ThisChain)
48 }
49}
50
51parameter_types! {
52 pub static RegisteredRewardsCount: u128 = 0;
53}
54
55pub struct MockRewardLedger;
56
57impl RewardLedger<sp_runtime::AccountId32, BridgeReward, u128> for MockRewardLedger {
58 fn register_reward(
59 _relayer: &sp_runtime::AccountId32,
60 _reward: BridgeReward,
61 _reward_balance: u128,
62 ) {
63 RegisteredRewardsCount::set(RegisteredRewardsCount::get().saturating_add(1));
64 }
65}