Skip to content

v1.0.2

Choose a tag to compare

@jrwbabylonlab jrwbabylonlab released this 10 Apr 14:41
· 62 commits to main since this release
78d2f97

Summary:

We identified an issue where slashing transaction creation was failing when the calculated slashing amount — derived from the staking value multiplied by the slashing rate — could below Bitcoin’s dust limit of 546 sats. This threshold is conservatively set to ensure compatibility across all address types.

In the current implementation, if the slashing output is not an OP_RETURN, it is expected to be a standard spendable output and therefore must meet the dust limit requirement. As a result, when the slashed amount falls below 546 sats, the transaction fails to construct.

This logic is intentional to prevent invalid transactions from being accepted by Bitcoin nodes. However, for OP_RETURN outputs, which are unspendable, the dust rule does not apply — and such outputs are allowed to carry any value, including 0 sats.

The observed issue was caused by applying the dust limit universally, without checking for OP_RETURN. This has now been corrected by explicitly bypassing the dust check when the slashing output is of type OP_RETURN.

What's Changed

Full Changelog: v1.0.1...v1.0.2