* refactor: break down SubmitTx into separate files * add validate transaction, start dry run * add dry run * fix worker getting stuck after forklift is disposed * handle rejections in promiseWithTeardown
* refactor: break down SubmitTx into separate files * add validate transaction, start dry run * add dry run * fix worker getting stuck after forklift is disposed * handle rejections in promiseWithTeardown