pub struct ModuleFactory<Chain>(/* private fields */);
Implementations§
Trait Implementations§
Source§impl<Chain: Clone> Clone for ModuleFactory<Chain>
impl<Chain: Clone> Clone for ModuleFactory<Chain>
Source§fn clone(&self) -> ModuleFactory<Chain>
fn clone(&self) -> ModuleFactory<Chain>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<Chain: ChainState> ContractInstance<Chain> for ModuleFactory<Chain>
impl<Chain: ChainState> ContractInstance<Chain> for ModuleFactory<Chain>
Source§fn as_instance(&self) -> &Contract<Chain>
fn as_instance(&self) -> &Contract<Chain>
Return a reference to the underlying contract instance.
Source§fn as_instance_mut(&mut self) -> &mut Contract<Chain>
fn as_instance_mut(&mut self) -> &mut Contract<Chain>
Return a mutable reference to the underlying contract instance.
Source§fn set_address(&self, address: &Addr)
fn set_address(&self, address: &Addr)
Sets the address for the contract. Useful when the contract is already initialized
and not registered in the configured state file.
Source§fn remove_address(&self)
fn remove_address(&self)
Removes the address for the contract
Source§fn set_default_address(&mut self, address: &Addr)
fn set_default_address(&mut self, address: &Addr)
Sets a default address for the contract. If the contract already has an address registered in the state, this won’t be used.
This is mostly used to ship address with a cw-orch package.
Source§fn set_code_id(&self, code_id: u64)
fn set_code_id(&self, code_id: u64)
Sets the code_id for the contract. Useful when the contract is already initialized
and not registered in the configured state file.
Source§fn remove_code_id(&self)
fn remove_code_id(&self)
Removes the code_id for the contract
Source§fn set_default_code_id(&mut self, code_id: u64)
fn set_default_code_id(&mut self, code_id: u64)
Sets a default address for the contract. If the contract already has an address registered in the state, this won’t be used.
This is mostly used to ship address with a cw-orch package.
Source§impl<Chain: CwEnv> DeterministicInstantiation<Chain> for ModuleFactory<Chain>
impl<Chain: CwEnv> DeterministicInstantiation<Chain> for ModuleFactory<Chain>
Source§fn deterministic_instantiate(
&self,
migrate_msg: &Self::MigrateMsg,
blob_code_id: u64,
expected_addr: CanonicalAddr,
salt: Binary,
) -> Result<(), CwEnvError>
fn deterministic_instantiate( &self, migrate_msg: &Self::MigrateMsg, blob_code_id: u64, expected_addr: CanonicalAddr, salt: Binary, ) -> Result<(), CwEnvError>
Instantiate blob and migrate to your desired contract.
It will upload your contract, if it’s not uploaded already Read more
fn deterministic_address( &self, salt: &Binary, ) -> Result<CanonicalAddr, Instantiate2AddressError>
Source§impl<Chain> ExecutableContract for ModuleFactory<Chain>
impl<Chain> ExecutableContract for ModuleFactory<Chain>
Source§type ExecuteMsg = ExecuteMsg
type ExecuteMsg = ExecuteMsg
Execute message for the contract.
Source§impl<Chain> InstantiableContract for ModuleFactory<Chain>
impl<Chain> InstantiableContract for ModuleFactory<Chain>
Source§type InstantiateMsg = InstantiateMsg
type InstantiateMsg = InstantiateMsg
Instantiate message for the contract.
Source§impl<Chain> MigratableContract for ModuleFactory<Chain>
impl<Chain> MigratableContract for ModuleFactory<Chain>
Source§type MigrateMsg = MigrateMsg
type MigrateMsg = MigrateMsg
Migrate message for the contract.
Source§impl<Chain> QueryableContract for ModuleFactory<Chain>
impl<Chain> QueryableContract for ModuleFactory<Chain>
Source§impl<Chain: CwEnv> Uploadable for ModuleFactory<Chain>
impl<Chain: CwEnv> Uploadable for ModuleFactory<Chain>
Auto Trait Implementations§
impl<Chain> Freeze for ModuleFactory<Chain>where
Chain: Freeze,
impl<Chain> RefUnwindSafe for ModuleFactory<Chain>where
Chain: RefUnwindSafe,
impl<Chain> Send for ModuleFactory<Chain>where
Chain: Send,
impl<Chain> Sync for ModuleFactory<Chain>where
Chain: Sync,
impl<Chain> Unpin for ModuleFactory<Chain>where
Chain: Unpin,
impl<Chain> UnwindSafe for ModuleFactory<Chain>where
Chain: UnwindSafe,
Blanket Implementations§
Source§impl<Chain, CwOrchQueryMsgType, SupportedContract> AsyncQueryMsgFns<Chain, CwOrchQueryMsgType> for SupportedContractwhere
Chain: AsyncWasmQuerier + ChainState,
CwOrchQueryMsgType: Sync,
QueryMsg: Into<CwOrchQueryMsgType>,
SupportedContract: AsyncCwOrchQuery<Chain, QueryMsg = CwOrchQueryMsgType>,
impl<Chain, CwOrchQueryMsgType, SupportedContract> AsyncQueryMsgFns<Chain, CwOrchQueryMsgType> for SupportedContractwhere
Chain: AsyncWasmQuerier + ChainState,
CwOrchQueryMsgType: Sync,
QueryMsg: Into<CwOrchQueryMsgType>,
SupportedContract: AsyncCwOrchQuery<Chain, QueryMsg = CwOrchQueryMsgType>,
Source§async fn config_async(&self) -> Result<ConfigResponse, CwEnvError>
async fn config_async(&self) -> Result<ConfigResponse, CwEnvError>
Automatically generated wrapper around QueryMsg::Config variant
Source§async fn simulate_install_modules_async(
&self,
modules: Vec<ModuleInfo>,
) -> Result<SimulateInstallModulesResponse, CwEnvError>
async fn simulate_install_modules_async( &self, modules: Vec<ModuleInfo>, ) -> Result<SimulateInstallModulesResponse, CwEnvError>
Automatically generated wrapper around QueryMsg::SimulateInstallModules variant
Source§async fn ownership_async(&self) -> Result<Ownership<String>, CwEnvError>
async fn ownership_async(&self) -> Result<Ownership<String>, CwEnvError>
Automatically generated wrapper around QueryMsg::Ownership variant
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, Chain> ConditionalMigrate<Chain> for T
impl<T, Chain> ConditionalMigrate<Chain> for T
Source§fn migrate_if_needed(
&self,
migrate_msg: &Self::MigrateMsg,
) -> Result<Option<<Chain as TxHandler>::Response>, CwEnvError>
fn migrate_if_needed( &self, migrate_msg: &Self::MigrateMsg, ) -> Result<Option<<Chain as TxHandler>::Response>, CwEnvError>
Only migrate the contract if it is not on the latest code-id yet
Source§fn upload_and_migrate_if_needed(
&self,
migrate_msg: &Self::MigrateMsg,
) -> Result<Option<Vec<<Chain as TxHandler>::Response>>, CwEnvError>
fn upload_and_migrate_if_needed( &self, migrate_msg: &Self::MigrateMsg, ) -> Result<Option<Vec<<Chain as TxHandler>::Response>>, CwEnvError>
Uploads the contract if the local contract hash is different from the latest on-chain code hash.
Proceeds to migrates the contract if the contract is not running the latest code.
Source§impl<T, Chain> ConditionalUpload<Chain> for Twhere
Chain: CwEnv,
T: CwOrchUpload<Chain>,
impl<T, Chain> ConditionalUpload<Chain> for Twhere
Chain: CwEnv,
T: CwOrchUpload<Chain>,
Source§fn upload_if_needed(
&self,
) -> Result<Option<<Chain as TxHandler>::Response>, CwEnvError>
fn upload_if_needed( &self, ) -> Result<Option<<Chain as TxHandler>::Response>, CwEnvError>
Only upload the contract if it is not uploaded yet (checksum does not match)
Source§fn latest_is_uploaded(&self) -> Result<bool, CwEnvError>
fn latest_is_uploaded(&self) -> Result<bool, CwEnvError>
Returns whether the checksum of the WASM file matches the checksum of the latest uploaded code for this contract.
Source§fn is_running_latest(&self) -> Result<bool, CwEnvError>
fn is_running_latest(&self) -> Result<bool, CwEnvError>
Returns whether the contract is running the latest uploaded code for it
Source§impl<T, Chain> CwOrchExecute<Chain> for T
impl<T, Chain> CwOrchExecute<Chain> for T
Source§fn execute(
&self,
execute_msg: &Self::ExecuteMsg,
coins: &[Coin],
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn execute( &self, execute_msg: &Self::ExecuteMsg, coins: &[Coin], ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
Send a ExecuteMsg to the contract.
Source§impl<T, Chain> CwOrchInstantiate<Chain> for T
impl<T, Chain> CwOrchInstantiate<Chain> for T
Source§fn instantiate(
&self,
instantiate_msg: &Self::InstantiateMsg,
admin: Option<&Addr>,
coins: &[Coin],
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn instantiate( &self, instantiate_msg: &Self::InstantiateMsg, admin: Option<&Addr>, coins: &[Coin], ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
Instantiates the contract.
Source§fn instantiate2(
&self,
instantiate_msg: &Self::InstantiateMsg,
admin: Option<&Addr>,
coins: &[Coin],
salt: Binary,
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn instantiate2( &self, instantiate_msg: &Self::InstantiateMsg, admin: Option<&Addr>, coins: &[Coin], salt: Binary, ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
Instantiates the contract using instantiate2
Source§impl<T, Chain> CwOrchMigrate<Chain> for T
impl<T, Chain> CwOrchMigrate<Chain> for T
Source§fn migrate(
&self,
migrate_msg: &Self::MigrateMsg,
new_code_id: u64,
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn migrate( &self, migrate_msg: &Self::MigrateMsg, new_code_id: u64, ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
Migrate the contract.
Source§impl<T, Chain> CwOrchQuery<Chain> for T
impl<T, Chain> CwOrchQuery<Chain> for T
Source§fn raw_query(&self, query_keys: Vec<u8>) -> Result<Vec<u8>, CwEnvError>
fn raw_query(&self, query_keys: Vec<u8>) -> Result<Vec<u8>, CwEnvError>
Query the contract raw state from an raw binary key
Source§fn item_query<T>(&self, query_item: Item<T>) -> Result<T, CwEnvError>where
T: Serialize + DeserializeOwned,
fn item_query<T>(&self, query_item: Item<T>) -> Result<T, CwEnvError>where
T: Serialize + DeserializeOwned,
Query the contract raw state from an cw-storage-plus::Item
Source§impl<T, Chain> CwOrchUpload<Chain> for T
impl<T, Chain> CwOrchUpload<Chain> for T
Source§fn upload(&self) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn upload(&self) -> Result<<Chain as TxHandler>::Response, CwEnvError>
upload the contract to the configured environment.
Source§fn upload_with_access_config(
&self,
access_config: Option<AccessConfig>,
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn upload_with_access_config( &self, access_config: Option<AccessConfig>, ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
upload the contract to the configured environment and specify the permissions for instantiating
Source§impl<Chain, T> Environment<Chain> for T
impl<Chain, T> Environment<Chain> for T
Source§fn environment(&self) -> &Chain
fn environment(&self) -> &Chain
Returns the chain that this structure executes on
Source§impl<Chain, CwOrchExecuteMsgType, SupportedContract> ExecuteMsgFns<Chain, CwOrchExecuteMsgType> for SupportedContractwhere
Chain: TxHandler,
ExecuteMsg: Into<CwOrchExecuteMsgType>,
SupportedContract: CwOrchExecute<Chain, ExecuteMsg = CwOrchExecuteMsgType>,
impl<Chain, CwOrchExecuteMsgType, SupportedContract> ExecuteMsgFns<Chain, CwOrchExecuteMsgType> for SupportedContractwhere
Chain: TxHandler,
ExecuteMsg: Into<CwOrchExecuteMsgType>,
SupportedContract: CwOrchExecute<Chain, ExecuteMsg = CwOrchExecuteMsgType>,
Source§fn install_modules(
&self,
modules: Vec<FactoryModuleInstallConfig>,
salt: Binary,
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn install_modules( &self, modules: Vec<FactoryModuleInstallConfig>, salt: Binary, ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
Automatically generated wrapper around ExecuteMsg::InstallModules variant
Source§fn update_ownership(
&self,
arg0: Action,
) -> Result<<Chain as TxHandler>::Response, CwEnvError>
fn update_ownership( &self, arg0: Action, ) -> Result<<Chain as TxHandler>::Response, CwEnvError>
Automatically generated wrapper around ExecuteMsg::UpdateOwnership variant
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<Chain, CwOrchQueryMsgType, SupportedContract> QueryMsgFns<Chain, CwOrchQueryMsgType> for SupportedContractwhere
Chain: QueryHandler + ChainState,
QueryMsg: Into<CwOrchQueryMsgType>,
SupportedContract: CwOrchQuery<Chain, QueryMsg = CwOrchQueryMsgType>,
impl<Chain, CwOrchQueryMsgType, SupportedContract> QueryMsgFns<Chain, CwOrchQueryMsgType> for SupportedContractwhere
Chain: QueryHandler + ChainState,
QueryMsg: Into<CwOrchQueryMsgType>,
SupportedContract: CwOrchQuery<Chain, QueryMsg = CwOrchQueryMsgType>,
Source§fn config(&self) -> Result<ConfigResponse, CwEnvError>
fn config(&self) -> Result<ConfigResponse, CwEnvError>
Automatically generated wrapper around QueryMsg::Config variant
Source§fn simulate_install_modules(
&self,
modules: Vec<ModuleInfo>,
) -> Result<SimulateInstallModulesResponse, CwEnvError>
fn simulate_install_modules( &self, modules: Vec<ModuleInfo>, ) -> Result<SimulateInstallModulesResponse, CwEnvError>
Automatically generated wrapper around QueryMsg::SimulateInstallModules variant