1
// Copyright (C) Moondance Labs Ltd.
2
// This file is part of Tanssi.
3

            
4
// Tanssi is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8

            
9
// Tanssi is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13

            
14
// You should have received a copy of the GNU General Public License
15
// along with Tanssi.  If not, see <http://www.gnu.org/licenses/>
16

            
17
//! Runtime API for External Validators Rewards pallet
18

            
19
#![cfg_attr(not(feature = "std"), no_std)]
20

            
21
use snowbridge_merkle_tree::MerkleProof;
22

            
23
sp_api::decl_runtime_apis! {
24
    pub trait ExternalValidatorsRewardsApi<AccountId, EraIndex>
25
    where
26
        AccountId: parity_scale_codec::Codec,
27
        EraIndex: parity_scale_codec::Codec,
28
    {
29
        fn generate_rewards_merkle_proof(account_id: AccountId, era_index: EraIndex) -> Option<MerkleProof>;
30
        fn verify_rewards_merkle_proof(merkle_proof: MerkleProof) -> bool;
31
    }
32
}