1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::{api::VMApi, types::ManagedAddress};

pub trait ProxyObjBase {
    type Api: VMApi;

    #[doc(hidden)]
    fn new_proxy_obj() -> Self;

    /// Specify the target contract to call.
    /// Not taken into account for deploys.
    #[must_use]
    fn contract(self, address: ManagedAddress<Self::Api>) -> Self;

    #[doc(hidden)]
    fn into_fields(self) -> ManagedAddress<Self::Api>;
}