multiSignerContractCall

suspend fun multiSignerContractCall(target: String, targetFn: String, targetArgs: List<SCValXdr> = emptyList(), selectedSigners: List<SelectedSigner>, forceMethod: SubmissionMethod? = null, resolveContextRuleIds: ResolveContextRuleIds? = null): TransactionResult

Calls an arbitrary function on an external contract directly with multi-signer authorization.

Builds a host function that invokes target.targetFn(targetArgs) directly (not through the smart account's execute() entry point). Context rules of type CallContract(target) are matched for authorization, allowing contract-specific multi-signer rules to apply.

This is the multi-signer counterpart to OZTransactionOperations.contractCall.

Return

TransactionResult indicating success or failure.

Parameters

target

The contract address (C-address) to call.

targetFn

The function name to invoke on the target contract.

targetArgs

Pre-encoded SCVal arguments for the function.

selectedSigners

All signers that must participate, in signing order.

forceMethod

Optional override to force relayer or RPC submission.

resolveContextRuleIds

Optional callback to resolve context rule IDs per auth entry.

Throws

if validation fails, signing fails, or submission fails.