// migrate mimicks the call signature of the smart contracts.
// thus it moves env and msg rather than take them as reference.
// this is inefficient here, but only used in test code
migrate mimicks the call signature of the smart contracts.
thus it moves env and msg rather than take them as reference.
this is inefficient here, but only used in test code
migrate mimicks the call signature of the smart contracts . thus it moves env and msg rather than take them as reference . this is inefficient here but only used in test code
pub fn migrate<
    S: Storage + 'static,
    A: Api + 'static,
    Q: Querier + 'static,
    T: Serialize + JsonSchema,
    U: DeserializeOwned + Clone + PartialEq + JsonSchema + fmt::Debug,
>(
    instance: &mut Instance<S, A, Q>,
    env: Env,
    msg: T,
) -> MigrateResult<U> {
    let serialized_msg = to_vec(&msg)?;
    call_migrate(instance, &env, &serialized_msg).expect("VM error")
}
pub fn migrate < S : Storage + ' static , A : Api + ' static , Q : Querier + ' static , T : Serialize + JsonSchema , U : DeserializeOwned + Clone + PartialEq + JsonSchema + fmt :: Debug , > ( instance : & mut Instance < S , A , Q > , env : Env , msg : T , ) -> MigrateResult < U > { let serialized_msg = to_vec ( & msg ) ? ; call_migrate ( instance , & env , & serialized_msg ) . expect ( " " ) }
migrate mimicks the call signature of the smart contracts.
migrate mimicks the call signature of the smart contracts .
instance
&mut Instance<S, A, Q>
env
Env
msg
T