Deploy the contract Wasm and after deployment invoke the initialize function of the contract with the given arguments.
This has to be authorized by deployer (unless the Deployer instance
itself is used as deployer). This way the whole operation is atomic
and it's not possible to frontrun the contract initialization.
Returns the contract ID and the result of the initialize function. Code comes from the stellar/soroban-examples repository.
fn deploy(
env: soroban_sdk::Env,
deployer: soroban_sdk::Address,
wasm_hash: soroban_sdk::BytesN<32>,
salt: soroban_sdk::BytesN<32>,
init_fn: soroban_sdk::Symbol,
init_args: soroban_sdk::Vec,
) -> (soroban_sdk::Address, soroban_sdk::Val)