Fix logic to handle multiple outputs in ExplorerWallet.buildTXHex() #26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Allow ExplorerWallet.sendTx() to handle multiple outputs
What did I do?
I removed a logic to manually handle outputs and change.
It seemed unnecessary since the
bitcoinjs-lib
appears to handle messy outputs just fine.I removed an Error thrown if among the
outputs
frombuildInputsAndOutputs()
an output had noaddress
.It seems that
buildInputsAndOutputs
will always pass the "change" output without anaddress
attribute.This was fixed for transactions with only one output by the logic I removed above but it fails with multiple outputs.
Instead, I add the p2pkh address to the "change" and removed the error.
I added tests for multiple outputs transaction in the
integration
test suite.I made sure previous tests that seem to use this logic still passes.
I also ran
npm run code-format
which made the other change in the code that is unrelated to this PR - but it makes thenpm test
pass now.