use ink_env::{
call::{
utils::{
ReturnType,
Set,
Unset,
},
CreateBuilder,
ExecutionInput,
LimitParamsV2,
},
Environment,
};
use scale::Encode;
pub type CreateBuilderPartial<E, ContractRef, Args, R> = CreateBuilder<
E,
ContractRef,
Unset<<E as Environment>::Hash>,
Set<LimitParamsV2<E>>,
Unset<<E as Environment>::Balance>,
Set<ExecutionInput<Args>>,
Unset<ink_env::call::state::Salt>,
Set<ReturnType<R>>,
>;
pub fn constructor_exec_input<E, ContractRef, Args: Encode, R>(
builder: CreateBuilderPartial<E, ContractRef, Args, R>,
) -> Vec<u8>
where
E: Environment,
{
builder
.endowment(0u32.into())
.code_hash(ink_primitives::Clear::CLEAR_HASH)
.salt_bytes(Vec::new())
.params()
.exec_input()
.encode()
}