pub trait ContractsRegistry<T: Config, C>where
C: Currency<T::AccountId>,{
type Error;
// Required methods
fn fetch_contract_by_id(
contract_id: T::Hash
) -> Result<RegistryContract<T::Hash, T::AccountId, CurrencyBalanceOf<T, C>, BlockNumberFor<T>>, Self::Error>;
fn fetch_contracts(
author: Option<T::AccountId>,
metadata: Option<Vec<u8>>
) -> Result<Vec<RegistryContract<T::Hash, T::AccountId, CurrencyBalanceOf<T, C>, BlockNumberFor<T>>>, Self::Error>;
}