Skip to content

[bug]: /proofs/decode returns null for raw_group_key & merkle_root #407

Closed
@straumat

Description

@straumat

Background

When using the REST assets method ( /v1/taproot-assets/assets ), all fields are fullfilled.
When using the REST decode method ( v1/taproot-assets/proofs/decode ) on the same asset, raw_group_key and merkle_root fields are empty.

Your environment

  • lnd compiled from master branch.
  • tapd compiled from main branch.

Steps to reproduce

I created an asset.

I do: curl --header "Grpc-Metadata-macaroon: $(xxd -ps -u -c 1000 ./admin.macaroon)" --insecure https://157.230.85.88:8089/v1/taproot-assets/assets | jq

{
      "version": 0,
      "asset_genesis": {
        "genesis_point": "57faede9e107f3af74bb93e730bc1dfd07f81b166a974068f823d30d9eb10111:1",
        "name": "roylloCoin",
        "meta_hash": "0c482467dfb29000804e044c4c6044b487c0280082002d4611a8ba7f22703d63",
        "asset_id": "f9dd292bb211dae8493645150b36efa990841b11038d026577440d2616d1ec32",
        "output_index": 0,
        "version": 0
      },
      "asset_type": "NORMAL",
      "amount": "999",
      "lock_time": 0,
      "relative_lock_time": 0,
      "script_version": 0,
      "script_key": "025d615b377761a5bfcfe84f0f11afd35837a68f702dd8a0cac0a2a4052b20d211",
      "script_key_is_local": true,
      "asset_group": {
        "raw_group_key": "033b8449aae83eb0ed04f7952108637d078836bb5d3353a33b6486248b401f60da",
        "tweaked_group_key": "02260e9ffbe7fdabe746b4ba4c3b86c8f237d7946f116949e93db77d5e0357c13d",
        "asset_id_sig": "d0d86f5c646fcca990b8ceaf7a480762c92900351ae84e8135740fa92a66c8c0a4e509c8d10df8913924a583d74e9cf25ccd56eb2552c3b92a8c3c9ebe8cca97"
      },
      "chain_anchor": {
        "anchor_tx": "020000000001021101b19e0dd323f86840976a161bf807fd1dbc30e793bb74aff307e1e9edfa570100000000ffffffffdc62e81401abfec546a45213c65c9910466f06ea1b831b017c13edfa71d775b10200000000ffffffff02e80300000000000022512040b3ddefc0df09b89fd1379a3bd246bf2827ed461506a5899dc230324d0aa158bc05000000000000225120d7ab0deb6185088278a66f5599be41510db531fd7f2df39e3b8558e2d2b65b0602473044022023f92ca5b7289d5cfb2ae415b91efa8bb9758d97b78b8ad17c81ce43fa9d262a02205c790874cbd4dae139f1d3e2b029bb97c4bf13bff0bc80127dacf9e917a37ed5012102cf948a447b6b49ccf83754b2455b7c6f77a9daeb1bb192f17ae34d3f52182a1a024630430220698a8f0543c97775ece1ad26a63f99d837ff9fd3b136e5c43cc984c37a75b3dd021f4d183f9811ac7a7cde904c795f68f96bda845efb5493a95582b60a93ca55c201210305c9ac7185c67621b7534e700d9592863f07ae5b9add38da9576e4a06a66c10000000000",
        "anchor_txid": "0324ddf7ec79711a340a04e1ee3cee53005e046b4e0de31d498cc586ba9181c7",
        "anchor_block_hash": "0000000000006b8c5e2e1a5658a841d8a20f839ba710120ecc323c8d12b10632",
        "anchor_outpoint": "0324ddf7ec79711a340a04e1ee3cee53005e046b4e0de31d498cc586ba9181c7:0",
        "internal_key": "026ad322cc8a05cf5723bf8aeb5c778c6462146e573af182ba20c6bed53ea29ae6",
        "merkle_root": "cd773bc1a59f3b641e819b51944d1bcf10e4676cba0620ebe3b064c5d0a777da",
        "tapscript_sibling": ""
      },
      "prev_witnesses": [],
      "is_spent": false
    },
    {
      "version": 0,
      "asset_genesis": {
        "genesis_point": "4155275d5468dc2f116e3ea4aaddc4783a559933c7bef08fd3029fde40daf26d:1",
        "name": "unknownRoylloCoin",
        "meta_hash": "0c482467dfb29000804e044c4c6044b487c0280082002d4611a8ba7f22703d63",
        "asset_id": "852054161032646e45cbaebc8c316660f5d4abb3f7ef9b367dd7d91889e0a5ba",
        "output_index": 1,
        "version": 0
      },
      "asset_type": "NORMAL",
      "amount": "1000",
      "lock_time": 0,
      "relative_lock_time": 0,
      "script_version": 0,
      "script_key": "02372e365b746b7215b9f037fe354aca49b01177e91fd1f0172fb6053e2dd0eff2",
      "script_key_is_local": true,
      "asset_group": {
        "raw_group_key": "024770265b019cec9aa59ed5161cbe975d94c801b881a47e88c7019f4aa43103ea",
        "tweaked_group_key": "033961286ebb47abce4167ba070546270ea756242a50978b0e38b73c28c125aa8f",
        "asset_id_sig": "2c3f92006f40226157229fe7e29a917d9c7dcdf826b1af396ff7416d9947ac189ef25c34be098411c2e6cae1a2c7a9846b61b499c5b4bbfca2daf73bac7858d3"
      },
      "chain_anchor": {
        "anchor_tx": "020000000001016df2da40de9f02d38ff0bec73399553a78c4ddaaa43e6e112fdc68545d2755410100000000ffffffff02e402000000000000225120d9c5d97fb55abcdf85102d90fb4c7b76d9f1656ae900d3127c861d0e814fa699e803000000000000225120d68d892bc7813c8012e295fe5e2abe94433c4fddaddd3cf57a7ee30dd14e15350247304402206a0c9ff04deb771651745a694a990c56e89213093cd686807f8796fb336311c302207e30d5709696443e527cb94d0e840802a77cc5915dbe28536585194c795886d7012102cf948a447b6b49ccf83754b2455b7c6f77a9daeb1bb192f17ae34d3f52182a1a00000000",
        "anchor_txid": "6b16776eb0a23a473b89f050fae17d07c2a4c437b0f3edaf2f0f0316f5e72d6b",
        "anchor_block_hash": "000000000000568e5bc6faa7eed00f945f40f2ca4564439d589a2670f2760cd9",
        "anchor_outpoint": "6b16776eb0a23a473b89f050fae17d07c2a4c437b0f3edaf2f0f0316f5e72d6b:1",
        "internal_key": "02103a3be4f8d8aa275382ccf5898dcc27d0b10fcf1f40a29ff5548d98676ebba5",
        "merkle_root": "d61a83ff6853f2a0cc94a45db4cddf680699498674f0435ef710849ea2dc5a71",
        "tapscript_sibling": ""
      },
      "prev_witnesses": [],
      "is_spent": false
    }

Then I do: curl --header "Grpc-Metadata-macaroon: $(xxd -ps -u -c 1000 ./admin.macaroon)" --data @REST-decode-parameter.json --insecure https://157.230.85.88:8089/v1/taproot-assets/proofs/decode

  "decoded_proof": {
    "proof_at_depth": 0,
    "number_of_proofs": 1,
    "asset": {
      "version": 0,
      "asset_genesis": {
        "genesis_point": "57faede9e107f3af74bb93e730bc1dfd07f81b166a974068f823d30d9eb10111:1",
        "name": "roylloCoin",
        "meta_hash": "0c482467dfb29000804e044c4c6044b487c0280082002d4611a8ba7f22703d63",
        "asset_id": "f9dd292bb211dae8493645150b36efa990841b11038d026577440d2616d1ec32",
        "output_index": 0,
        "version": 0
      },
      "asset_type": "NORMAL",
      "amount": "999",
      "lock_time": 0,
      "relative_lock_time": 0,
      "script_version": 0,
      "script_key": "025d615b377761a5bfcfe84f0f11afd35837a68f702dd8a0cac0a2a4052b20d211",
      "script_key_is_local": false,
      "asset_group": {
        "raw_group_key": "",
        "tweaked_group_key": "02260e9ffbe7fdabe746b4ba4c3b86c8f237d7946f116949e93db77d5e0357c13d",
        "asset_id_sig": "d0d86f5c646fcca990b8ceaf7a480762c92900351ae84e8135740fa92a66c8c0a4e509c8d10df8913924a583d74e9cf25ccd56eb2552c3b92a8c3c9ebe8cca97"
      },
      "chain_anchor": {
        "anchor_tx": "020000000001021101b19e0dd323f86840976a161bf807fd1dbc30e793bb74aff307e1e9edfa570100000000ffffffffdc62e81401abfec546a45213c65c9910466f06ea1b831b017c13edfa71d775b10200000000ffffffff02e80300000000000022512040b3ddefc0df09b89fd1379a3bd246bf2827ed461506a5899dc230324d0aa158bc05000000000000225120d7ab0deb6185088278a66f5599be41510db531fd7f2df39e3b8558e2d2b65b0602473044022023f92ca5b7289d5cfb2ae415b91efa8bb9758d97b78b8ad17c81ce43fa9d262a02205c790874cbd4dae139f1d3e2b029bb97c4bf13bff0bc80127dacf9e917a37ed5012102cf948a447b6b49ccf83754b2455b7c6f77a9daeb1bb192f17ae34d3f52182a1a024630430220698a8f0543c97775ece1ad26a63f99d837ff9fd3b136e5c43cc984c37a75b3dd021f4d183f9811ac7a7cde904c795f68f96bda845efb5493a95582b60a93ca55c201210305c9ac7185c67621b7534e700d9592863f07ae5b9add38da9576e4a06a66c10000000000",
        "anchor_txid": "0324ddf7ec79711a340a04e1ee3cee53005e046b4e0de31d498cc586ba9181c7",
        "anchor_block_hash": "0000000000006b8c5e2e1a5658a841d8a20f839ba710120ecc323c8d12b10632",
        "anchor_outpoint": "0324ddf7ec79711a340a04e1ee3cee53005e046b4e0de31d498cc586ba9181c7:0",
        "internal_key": "026ad322cc8a05cf5723bf8aeb5c778c6462146e573af182ba20c6bed53ea29ae6",
        "merkle_root": "",
        "tapscript_sibling": ""
      },
      "prev_witnesses": [],
      "is_spent": false
    },
    "meta_reveal": null,
    "tx_merkle_proof": "06e47b7ffac0a46c638ebd66bd72c07c93059cb9dcacd5474b4d29bb0f1cc661ef12dc3d91a992c4d4800fadc4593e665783966e9ea18257e7d1d187ee3f70a3a53f660f84796da9dccf2521f2bc0caddb627789062cca22e8de926f1e2327370f38e8899c9da3fcc32ccbccb65ccac88e253398c0d447323a456813bf08f7b22bd1af29b3bec54a12010c5bcd4a545e0bc461507236adc7fef624b70042f53a0ebf264c2dfde363f7e68820f57767962e412238ce2ee06ace92795f496ee1c5eb2e",
    "inclusion_proof": "0004000000000121026ad322cc8a05cf5723bf8aeb5c778c6462146e573af182ba20c6bed53ea29ae60274004900010001209e4f59a9e6c363a266472043f21f2f11b0b7f206f2abd8760d555832f16cf63f02220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff012700010001220000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    "exclusion_proofs": [
      "00040000000101210264e26d9bcccf4e442e08a8bab1fc2a0b64fcb83b34cbba1fe4b0404c3fd110980303020101"
    ],
    "split_root_proof": "",
    "num_additional_inputs": 0,
    "challenge_witness": []
  }
}

Expected behavior

For me, from what I understand, /v1/taproot-assets/assets and v1/taproot-assets/proofs/decode should return the same data.

Actual behavior

/v1/taproot-assets/assets and v1/taproot-assets/proofs/decode doesn't return the same data, raw_group_key and merkle_root fields are empty with the decode method.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions