Function ink_env::instantiate_contract
source · pub fn instantiate_contract<E, ContractRef, Args, Salt, R>(
params: &CreateParams<E, ContractRef, LimitParamsV2<E>, Args, Salt, R>,
) -> Result<ConstructorResult<<R as ConstructorReturnType<ContractRef>>::Output>>where
E: Environment,
ContractRef: FromAccountId<E>,
Args: Encode,
Salt: AsRef<[u8]>,
R: ConstructorReturnType<ContractRef>,
Expand description
Instantiates another contract.
§Note
This is a low level way to instantiate another smart contract, calling the latest
instantiate_v2
host function.
Prefer to use methods on a ContractRef
or the
CreateBuilder
through build_create
instead.
§Errors
- If the code hash is invalid.
- If the arguments passed to the instantiation process are invalid.
- If the instantiation process traps.
- If the instantiation process runs out of gas.
- If given insufficient endowment.
- If the returned account ID failed to decode properly.