You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
There seems to be a bug when looking for an OP_RETURN starting with"!a" . Chainhook returns 0 actions triggered as the OP_RETURN starting with"!a" is not found when OP_RETURN !aĆ[a+�UQ{d^½2 is present
As far as I can see mempool.space makes a subjective interpretation of the OP_RETURN's data section.
Compare the output you get from mempool.space with the one from blockstream.info:
mempool.space
!aĆ[a+�UQ{d^½2
blockstream.info
�!���a��Ć�[a+����U��Q����{�d^½��2�
I think that mempool.space is stripping any non-printable character, but I can't confirm.
That being said, the OP_RETURN matchers are not properly implemented in Chainhook's code yet. They are just matching an output script against the pattern defined by the predicate [1]. Implementation wise I think the matcher needs to:
Verify if the output is actually an OP_RETURN.
Perform the matching against the data section. This means skip OP_RETURN <PUSHED_BYTES>
Treat the predicate pattern as stated on the docs, this is, discriminate based on the 0x suffix (ASCII or HEX).
Describe the bug
There seems to be a bug when looking for an OP_RETURN starting with"!a" . Chainhook returns 0 actions triggered as the OP_RETURN starting with"!a" is not found when OP_RETURN !aĆ[a+�UQ{d^½2 is present
Transaction ID https://mempool.space/tx/6b9736710c061a3cef8c2cdcd46cee433c7df028ac1b71ab96dd388a2309816f
Block# 801219
Time stamp 2023-08-01 10:50
As you can see the blocks are scanned but it cannot find the OP_RETURN starting with "!a"
Here is the OP_RETURN screen shot below !aĆ[a+�UQ{d^½2
Here is the predicate where I am looking for OP_RETURNS that start with "!a"
The text was updated successfully, but these errors were encountered: