use std::collections::BTreeSet;
use casper_types::{
account::AccountHash, system::handle_payment::Error, FeeHandling, Key, Phase, RefundHandling,
};
pub trait RuntimeProvider {
fn get_key(&mut self, name: &str) -> Option<Key>;
fn put_key(&mut self, name: &str, key: Key) -> Result<(), Error>;
fn remove_key(&mut self, name: &str) -> Result<(), Error>;
fn get_phase(&self) -> Phase;
fn get_caller(&self) -> AccountHash;
fn refund_handling(&self) -> RefundHandling;
fn fee_handling(&self) -> FeeHandling;
fn administrative_accounts(&self) -> BTreeSet<AccountHash>;
}