ScriptToAsmString will convert any push shorter than 4 bytes to a number before display. This can lead to some confusion if you were expecting a hex-encoded blob as it does for longer-than-4-byte chunks. I'm not sure this is even documented anywhere.
Script disassembly for short byte arrays is confusing #7996
issue TheBlueMatt opened this issue on May 3, 2016-
TheBlueMatt commented at 8:54 PM on May 3, 2016: member
- laanwj added the label Docs and Output on May 4, 2016
-
apoelstra commented at 5:37 PM on May 4, 2016: contributor
This is stronger than just confusion -- for numbers between 10 000 000 and 2^32, it is ambiguous whether they are decimal numbers or hex-encoded data.
-
laanwj commented at 1:38 PM on May 5, 2016: member
I think this has always been the case. It'd make some sense if at least the hexadecimal were clearly distinguishable from decimal values, for example with a prefix. But as @apoelstra already says this is now ambiguous.