deploy

suspend fun deploy(onProgress: suspend (ContractCallStage) -> Unit? = null): DeployResult

Deploy a new contract instance to the blockchain.

Runs the constructor in QuickJS, proves the deploy tx, balances, and submits. Returns the contract address — use it to create a MidnightContract for calls.

Return

DeployResult with the contract address and timings

Parameters

onProgress

Optional callback for UI progress updates