This PR fixes multiple issues around transaction errors.
One is that logs wouldn't always show the error message which was fixed by
a) using solana web3 connection log events to track and parse log messages
b) logging the transaction error even if it already might have been logged as part of the transaction logs
The other is that in some cases expected errors weren't set on the transaction property that we queried for this.
Specifically runtime error messages were only present in the logs. Thus we parse them from there if an error regex is passed to assertError on the transaction promise.
Summary
This PR fixes multiple issues around transaction errors.
One is that logs wouldn't always show the error message which was fixed by
The other is that in some cases expected errors weren't set on the transaction property that we queried for this. Specifically runtime error messages were only present in the logs. Thus we parse them from there if an error regex is passed to
assertError
on the transaction promise.Fixes #57 Fixes #58