View in context in the libbitcoin Slack #general mirror.
witness_oplist.push_back(operation(witness_script.to_data(false)));
...it adds a OP_PUSHDATA1/76/Hex(4c) in front of it.
Why does it add the 4c opcode?
That doesn't seem to happen if I push back, lets say operation(to_chunk(my_hash_digest))
Here is just the [witnessScript], a 2/3 multisig, parses fine with bx script-decode:
5221026ccfb8061f235cc110697c0bfb3afb99d82c886672f6b9b5393b25a434c0cbf32103befa190c0c22e2f53720b1be9476dcf11917da4665c44c9c71c3a2d28a933c352102be46dc245f58085743b1cc37c82f0d63a960efa43b5336534275fc469b49f4ac53ae
After pushing it to the operation::list, I serialise it and get:
4c695221026ccfb8061f235cc110697c0bfb3afb99d82c886672f6b9b5393b25a434c0cbf32103befa190c0c22e2f53720b1be9476dcf11917da4665c44c9c71c3a2d28a933c352102be46dc245f58085743b1cc37c82f0d63a960efa43b5336534275fc469b49f4ac53ae
(notice the leading hex(4c))
Any help much appreciated!