partner_chains_mock_data_sources/
bridge.rs

1use crate::Result;
2use sidechain_domain::*;
3use sp_partner_chains_bridge::{
4	BridgeDataCheckpoint, BridgeTransferV1, MainChainScripts, TokenBridgeDataSource,
5};
6use std::marker::PhantomData;
7/// Mocked token bridge data source
8pub struct TokenBridgeDataSourceMock<RecipientAddress> {
9	_phantom: PhantomData<RecipientAddress>,
10}
11
12impl<RecipientAddress> TokenBridgeDataSourceMock<RecipientAddress> {
13	/// Creates a new mocked token bridge data source
14	pub fn new() -> Self {
15		Self { _phantom: Default::default() }
16	}
17}
18
19#[async_trait::async_trait]
20impl<RecipientAddress: Send + Sync> TokenBridgeDataSource<RecipientAddress>
21	for TokenBridgeDataSourceMock<RecipientAddress>
22{
23	async fn get_transfers(
24		&self,
25		_main_chain_scripts: MainChainScripts,
26		_data_checkpoint: BridgeDataCheckpoint,
27		_max_transfers: u32,
28		_current_mc_block: McBlockHash,
29	) -> Result<(Vec<BridgeTransferV1<RecipientAddress>>, BridgeDataCheckpoint)> {
30		Ok((vec![], BridgeDataCheckpoint::Block(McBlockNumber(0))))
31	}
32}