use ink_env::{
Environment,
call::{
CreateBuilder,
ExecutionInput,
LimitParamsV2,
utils::{
EncodeArgsWith,
ReturnType,
Set,
},
},
};
use crate::H256;
pub type CreateBuilderPartial<E, ContractRef, Args, R, Abi> = CreateBuilder<
E,
ContractRef,
Set<LimitParamsV2>,
Set<ExecutionInput<Args, Abi>>,
Set<ReturnType<R>>,
Abi,
>;
pub fn constructor_exec_input<E, ContractRef, Args, R, Abi>(
builder: CreateBuilderPartial<E, ContractRef, Args, R, Abi>,
) -> Vec<u8>
where
E: Environment,
Args: EncodeArgsWith<Abi>,
{
builder
.endowment(0u32.into())
.code_hash(H256::zero())
.salt_bytes(None)
.params()
.exec_input()
.encode()
}