Builds, signs, and submits a transaction that executes the given instructions, returning its signature.
Fetches the latest blockhash from the cluster, compiles the instructions with newTransactionIntentWithPayer naming the first key as the fee payer (forced into account 0 as a writable signer, even if no instruction marks it writable -- e.g. a memo-only or SPL authority-only transaction -- or references it at all), signs with the given keys (any order; signatures are placed in message order automatically), and broadcasts the result with sendTransaction.
Throws userError "newTransaction: no signers given" if the key list
is empty, and a CompileException if an instruction references an
account key that cannot be resolved in the compiled message, if a
required signer has no corresponding key, or if a given key signs
nothing.