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§
Trait Implementations§
source§impl<Chain: CwEnv> Deploy<Chain> for Abstract<Chain>
impl<Chain: CwEnv> Deploy<Chain> for Abstract<Chain>
§type Error = AbstractInterfaceError
type Error = AbstractInterfaceError
Error type returned by the deploy functions.
§type DeployData = String
type DeployData = String
Data required to deploy the application.
source§fn store_on(chain: Chain) -> Result<Self, AbstractInterfaceError>
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>
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>>>
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>
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>
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 objectssource§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>
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 moresource§fn set_contracts_state(&mut self, custom_state: Option<Value>)
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>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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