pub trait ContractsRegistry<T, C>where
T: Config,
C: Currency<<T as Config>::AccountId>,{
type Error;
// Required methods
fn fetch_contract_by_id(
contract_id: <T as Config>::Hash
) -> Result<RegistryContract<<T as Config>::Hash, <T as Config>::AccountId, <C as Currency<<T as Config>::AccountId>>::Balance, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, Self::Error>;
fn fetch_contracts(
author: Option<<T as Config>::AccountId>,
metadata: Option<Vec<u8, Global>>
) -> Result<Vec<RegistryContract<<T as Config>::Hash, <T as Config>::AccountId, <C as Currency<<T as Config>::AccountId>>::Balance, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, Global>, Self::Error>;
}