`Simulate` transaction feature similar to `invokeContract` for all types of transactions
Task description
It would be good to have a simulate transaction/feature in the webSDK, so a front-end can first call to simulate a specific transaction to see if it would revert (e.g. because insufficient funds in the wallet or because of a contract revert) and only if the simulation was successful, allow the user the execution of the real transaction on the front end. It would be similar to the invokeContract call (which can simulate Transaction.Update transactions). This request is to expand the simulation to any type of transaction e.g. deploy/initilize transactions as well.
Add label for component and priority.
This would need node support to implement properly.
We would add an API call like invoke_instance we have now that would try to make a block with a (list of) transactions, and report on the results.