fix(stacking): fix "Assertion failed" error when calling .stack
and .canStack
#925
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.
Description
When integrating the new @stacks/stacking npm package I am having an issue with the client.stack and the client.canStack methods, both are throwing [Error: Assertion failed].
After some debugging, it looks like the error is coming from this call https://github.com/blockstack/stacks.js/blob/a6b7da0586caa893c7cdf2ef4a3011de3248afe8/packages/stacking/src/index.ts#L319.
hashMode returned by const { hashMode, data } = decodeBtcAddress(poxAddress); is 0 and calling bn.js new BN(hashMode, 10).toBuffer() to get the buffer on 0 is throwing an error
Related issue #898.
Example:
Following the stacking tutorial and doing a simple operation like this:
For details refer to issue #123
Type of Change
Does this introduce a breaking change?
No
Are documentation updates required?
No
Testing information
Provide context on how tests should be performed.
I tested to manually patch the file in my project and the error was fixed with this change.
Checklist
npm run test
passes