Struct abstract_interface::Abstract

source ·
pub struct Abstract<Chain: CwEnv> {
    pub ans_host: AnsHost<Chain>,
    pub version_control: VersionControl<Chain>,
    pub account_factory: AccountFactory<Chain>,
    pub module_factory: ModuleFactory<Chain>,
    pub ibc: AbstractIbc<Chain>,
    /* private fields */
}

Fields§

§ans_host: AnsHost<Chain>§version_control: VersionControl<Chain>§account_factory: AccountFactory<Chain>§module_factory: ModuleFactory<Chain>§ibc: AbstractIbc<Chain>

Implementations§

source§

impl<Chain: CwEnv> Abstract<Chain>

source

pub fn new(chain: Chain) -> Self

source

pub fn instantiate( &mut self, _chain: &Chain, admin: String ) -> Result<(), AbstractInterfaceError>

source

pub fn contracts(&self) -> Vec<(&Contract<Chain>, String)>

Trait Implementations§

source§

impl<Chain: CwEnv> Deploy<Chain> for Abstract<Chain>

§

type Error = AbstractInterfaceError

Error type returned by the deploy functions.
§

type DeployData = String

Data required to deploy the application.
source§

fn store_on(chain: Chain) -> Result<Self, AbstractInterfaceError>

Stores/uploads the application to the chain.
source§

fn deploy_on(chain: Chain, data: String) -> Result<Self, AbstractInterfaceError>

Deploy the application to the chain. This could include instantiating contracts.
source§

fn get_contracts_mut(&mut self) -> Vec<Box<&mut dyn ContractInstance<Chain>>>

Returns all the contracts in this deployment instance Used to set the contract state (addr and code_id) when importing the package.
source§

fn deployed_state_file_path() -> Option<String>

Sets the custom state file path for exporting the state with the package. This function needs to be defined by projects. If the project doesn’t want to give deployment state with their crate, they can return None here.
source§

fn load_from(chain: Chain) -> Result<Self, Self::Error>

Load the application from the chain, assuming it has already been deployed. In order to leverage the deployed state, don’t forget to call Self::set_contracts_state after loading the contract objects
source§

fn multi_network_deploy( networks: Vec<(Chain, Self::DeployData)>, _gas_needed: Option<u64>, after_deploy_action: Option<fn(_: &Self) -> Result<(), Error>> ) -> Result<HashMap<String, Self>, Error>

Deploys the applications on all chains indicated in chains. Arguments : Read more
source§

fn set_contracts_state(&mut self, custom_state: Option<Value>)

Set the default contract state for a contract, so that users can retrieve it in their application when importing the library If a state is provided, it is used for all contracts, otherwise, the state is loaded from the crate’s state file.
source§

fn get_all_deployed_chains() -> Vec<String>

Gets all the chain ids on which the library is deployed on This loads all chains that are registered in the crate-local daemon_state file The state file should have the following format : { “juno”:{ “juno-1”:{ … }, “uni-6”: { } } … } So this function actually looks for the second level of indices in the deployed_state_file

Auto Trait Implementations§

§

impl<Chain> Freeze for Abstract<Chain>
where Chain: Freeze,

§

impl<Chain> RefUnwindSafe for Abstract<Chain>
where Chain: RefUnwindSafe,

§

impl<Chain> Send for Abstract<Chain>
where Chain: Send,

§

impl<Chain> Sync for Abstract<Chain>
where Chain: Sync,

§

impl<Chain> Unpin for Abstract<Chain>
where Chain: Unpin,

§

impl<Chain> UnwindSafe for Abstract<Chain>
where Chain: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<U> As for U

source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.