#![cfg_attr(not(feature = "std"), no_std)]
use codec::Codec;
use sp_std::vec::Vec;
use pallet_contracts_primitives::{ContractExecResult, GetStorageResult, RentProjectionResult};
sp_api::decl_runtime_apis! {
pub trait ContractsApi<AccountId, Balance, BlockNumber> where
AccountId: Codec,
Balance: Codec,
BlockNumber: Codec,
{
fn call(
origin: AccountId,
dest: AccountId,
value: Balance,
gas_limit: u64,
input_data: Vec<u8>,
) -> ContractExecResult;
fn get_storage(
address: AccountId,
key: [u8; 32],
) -> GetStorageResult;
fn rent_projection(address: AccountId) -> RentProjectionResult<BlockNumber>;
}
}