multiversx_sc/contract_base/contract_abi_provider.rs
use crate::{abi::ContractAbi, api::VMApi};
/// Required by contract ABI generators.
/// Provides the same associated types as the `ContractBase`,
/// so that associated types that show up in arguments and results match.
pub trait ContractAbiProvider {
type Api: VMApi;
/// Associated function that provides the contract or module ABI.
/// Since ABI generation is static, no state from the contract is required.
fn abi() -> ContractAbi;
}