Migration Logic
Migration Scenarios
Admin
RequireGovernance
Behavior
Governance-Only Migration Pattern
#[entry_point]
pub fn execute(
_deps: DepsMut,
_env: Env,
_info: MessageInfo,
msg: ExecuteMsg,
) -> StdResult<Response> {
match msg {
ExecuteMsg::MigrateContract {
contract_addr,
new_code_id,
migrate_msg,
code_hash,
} => {
let migrate_msg = CosmosMsg::Wasm(WasmMsg::Migrate {
contract_addr: contract_addr.clone(),
code_id: new_code_id,
msg: migrate_msg,
code_hash: code_hash,
});
Ok(Response::new()
.add_message(migrate_msg)
.add_attribute("method", "migrate_contract")
.add_attribute("contract_addr", contract_addr)
.add_attribute("new_code_id", new_code_id.to_string()))
}
}
}Last updated
Was this helpful?