Script decode not decoding 0x21 #8770

issue 0xfff opened this issue on September 21, 2016
  1. 0xfff commented at 12:07 AM on September 21, 2016: none

    bitcoin core v0.13.0.0 decodes the following tx as follows tx hash: c49b3c445c89d832289de0fd3b0281efdcce418333dacd028061e8de9f0a6f10

    decoderawtransaction 0100000001dbb3197449c0ede76729d75fdf845d1b4e367770211a0b30305e17ba7fa57f41010000006b483045022100b6db6e71652d2dcaa818c24d7dcba0ddca9a9a09f45a5a8b175784dde494d78602204e4b1042564da546b032f09eb02d2211f9e8fa3aeb3c987a28962a0a7a6d312b0121037a380cf3628417c275e9010eea2d7b2a05337d38af25054675e3441a43aa4565ffffffff01a0bb0d0000000000fd1901514c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2102323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd353ae00000000
    
    {
      "txid": "c49b3c445c89d832289de0fd3b0281efdcce418333dacd028061e8de9f0a6f10",
      "hash": "c49b3c445c89d832289de0fd3b0281efdcce418333dacd028061e8de9f0a6f10",
      "size": 450,
      "vsize": 450,
      "version": 1,
      "locktime": 0,
      "vin": [
        {
          "txid": "417fa57fba175e30300b1a217077364e1b5d84df5fd72967e7edc0497419b3db",
          "vout": 1,
          "scriptSig": {
            "asm": "3045022100b6db6e71652d2dcaa818c24d7dcba0ddca9a9a09f45a5a8b175784dde494d78602204e4b1042564da546b032f09eb02d2211f9e8fa3aeb3c987a28962a0a7a6d312b[ALL] 037a380cf3628417c275e9010eea2d7b2a05337d38af25054675e3441a43aa4565",
            "hex": "483045022100b6db6e71652d2dcaa818c24d7dcba0ddca9a9a09f45a5a8b175784dde494d78602204e4b1042564da546b032f09eb02d2211f9e8fa3aeb3c987a28962a0a7a6d312b0121037a380cf3628417c275e9010eea2d7b2a05337d38af25054675e3441a43aa4565"
          },
          "sequence": 4294967295
        }
      ],
      "vout": [
        {
          "value": 0.00900000,
          "n": 0,
          "scriptPubKey": {
            "asm": "1 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 02323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd3 3 OP_CHECKMULTISIG",
            "hex": "514c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2102323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd353ae",
            "type": "nonstandard"
          }
        }
      ]
    }
    
    decodescript 514c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2102323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd353ae
    
    {
      "asm": "1 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 02323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd3 3 OP_CHECKMULTISIG",
      "type": "nonstandard",
      "p2sh": "3Pr9qaUxaHFZbbdojAZFozH34dEqjpe4dU"
    }
    

    but decoding it manually we have:

    51  OP_1
    4c  Push data
    78  Push 120 decimal  = 78 hex bytes
        ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    4c  Push data
    78  Push 120 decimal  = 78 hex bytes
        ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    21  Push 33 dec = 21 hex: 
    02323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd3
    53  OP_3
    ae  OP_CHECKMULTISIG
    

    02323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd3 translates to: 1AqLAdfMzfVpdCAtk4rMCUCK6vvNUkGBdm

    It seems like core does not see the 33 byte compressed key as valid, or is it not recognizing 0x21? opcode (quick search of 0x21 in script.h comes up empty)

  2. achow101 commented at 2:23 AM on September 21, 2016: member

    What's the problem here? 0x21 isn't an OP code, its a size identifier. Are you suggesting that it is supposed to interpret your bare multisig (non standard BTW) as just a normal p2pkh address? Because it doesn't and it won't, it will assume that the data you are pushing are blobs of data (not any sort of key, that comes later). Because this is some script, it will interpret the address as a p2sh address.

  3. 0xfff commented at 3:59 AM on September 21, 2016: none

    Well the script appears to be valid (and it isn't mine btw) so I thought core should be able to parse it. It does specify 1 of 3 multisig, and it does provide 3 keys (albeit in a non-standard way). Maybe 0x21 is not the problem here, but the script is not decoded.

  4. achow101 commented at 4:01 AM on September 21, 2016: member

    Core is able to parse the script. What exactly is the issue here?

    On 9/21/2016 12:00 AM, Albert wrote:

    Well the script appears to be valid (and it isn't mine btw) so I thought core should be able to parse it. It does specify 1 of 3 multisig, and it does provide 3 keys (albeit in a non-standard way)

    — You are receiving this because you commented. Reply to this email directly, view it on GitHub #8770 (comment), or mute the thread https://github.com/notifications/unsubscribe-auth/ADm2gjCYgcWIMRqf2j1it6-Cp0NavqyLks5qsKvBgaJpZM4KCRZV.

  5. 0xfff commented at 4:03 AM on September 21, 2016: none

    it is not showing the addresses that are eligible signatures

  6. davecgh commented at 5:00 AM on September 21, 2016: contributor

    Addresses are only shown for standard multisig scripts. That is not a standard multisig script since it does not consist of only valid public keys which are either 33 bytes (for compressed) or 65 bytes (for uncompressed).

    As an additional reference point, btcd produces the same output, for the same reason:

    $ btcctl decodescript 514c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2102323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd353ae
    {
      "asm": "1 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 02323c909b017748294c1d1fb82648b2c2905cd941d9a863e036b3157e8aa85dd3 3 OP_CHECKMULTISIG",
      "type": "nonstandard",
      "p2sh": "3Pr9qaUxaHFZbbdojAZFozH34dEqjpe4dU"
    }
    
    
  7. laanwj added the label RPC/REST/ZMQ on Sep 25, 2016
  8. laanwj commented at 11:49 AM on December 8, 2016: member

    Closing as "works as intended", could be improved in the documentation I suppose.

  9. laanwj closed this on Dec 8, 2016

  10. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me