Skip to content

Signing RGB PSBTs #734

@cryptoquick

Description

@cryptoquick

Describe the bug

It's not yet clear if the RGB descriptor wallet will be capable of being compiled to WASM anytime soon, so, I was hoping we could use BDK to sign PSBTs from an RGB transaction... But I'm getting the following error:

 DEBUG bitmask_core::operations::bitcoin::sign_psbt  > Signing PSBT...
 DEBUG bdk::wallet                                   > Found descriptor External/0
 DEBUG bdk::wallet                                   > Input #0 - 0a67cd6b1df62f5b74d470763eadfd520f6a9264e2fb0339db9e1092374d3ae5:3, using `create_height` = Some(2343448), `current_height` = Some(2344194)
 DEBUG bdk::wallet                                   > satisfy error CouldNotSatisfy for input 0

Does BDK need to be able to make sense of the PSBT before it signs it?

To Reproduce

Clone bitmask-core: https://github.com/diba-io/bitmask-core.git
Checkout the code in this commit: 536c795b69015cb8fee322498873e248753d75a1

Create a testnet wallet with some testnet sats in it, and (optionally) run a local esplora node synced to testnet:

Run: TEST_WALLET_SEED="meow meow meow (replace this with a real seed)" BITCOIN_EXPLORER_API_TESTNET=http://127.0.0.1:3000 BITCOIN_ELECTRUM_API_TESTNET=127.0.0.1:60001 RUST_LOG="debug" cargo test

The PSBT will be printed in two formats, one in base64 that can be used with bitcoin-cli decodepsbt, and another in hex that can be piped through xxd and used with rgb psbt analyze

bitcoin-cli -testnet decodepsbt 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 | jq

My output:

{
  "tx": {
    "txid": "4991eb293a7eadaf8bd90443debda8191da1d04d9d2b5ed586b1fde483c3668f",
    "hash": "4991eb293a7eadaf8bd90443debda8191da1d04d9d2b5ed586b1fde483c3668f",
    "version": 2,
    "size": 125,
    "vsize": 125,
    "weight": 500,
    "locktime": 0,
    "vin": [
      {
        "txid": "0a67cd6b1df62f5b74d470763eadfd520f6a9264e2fb0339db9e1092374d3ae5",
        "vout": 3,
        "scriptSig": {
          "asm": "",
          "hex": ""
        },
        "sequence": 4294967295
      }
    ],
    "vout": [
      {
        "value": 1.13e-06,
        "n": 0,
        "scriptPubKey": {
          "asm": "OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RESERVED OP_RETURN 180245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f7700",
          "desc": "raw(5050505050505050505050505050505050505050505050505050505050506a21180245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f7700)#gu29za73",
          "hex": "5050505050505050505050505050505050505050505050505050505050506a21180245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f7700",
          "type": "nonstandard"
        }
      }
    ]
  },
  "global_xpubs": [
    {
      "xpub": "tpubDChP3vEGR7L8niRPATwpHAwGrjV77L8UZBbvUz6gXEUjaWNJMaVUmBWWNk2rj3Y3kQk5R8Rhbcca43bet7yqPdfdRnVKd5Y3ijwhMyK2Wf9",
      "master_fingerprint": "8153ed60",
      "path": "m/168'/20'/0'"
    }
  ],
  "psbt_version": 0,
  "proprietary": [
    {
      "identifier": "524742",
      "subtype": 0,
      "key": "fc03524742008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac",
      "value": "0000000000000000000000000000000000000000000000000000000000000000000000020008004f7574506f696e740200010004005478696400000001000400547869640100001020000000080000000011fe01000011fe03000000000400000013a000000003b000000003b100010008004f7574506f696e74b2000011000500010003a0000100a1000100aa0000ab000000000500000001000100010001000100030001000100040001000100a000010001000400010000000100a0000000ffffa1000000ffffaa0000000100000000000700000000000100a1000100ffff0100a1000000ffff000010100300000000000100010000000100030000000100010001000100010001000100000001000000a0100100a000010001000100a0000100ffff0300a0000000ffffa1000000ffffaa00000001000000a11000000100aa00010001000200aa0000000100ab00000001000000a2100400b00001000100b1000100ffffb2000000ffffb300010001000100ab00010001000100ab00000001000000a3100500a00001000100b00001000100b1000100ffffb2000000ffffb300010001000100ab00010001000200a1000100ffffab00000001000000008000000500010000000100a0000000ffffa1000000ffffaa0000000100ab000000ffff0500010000000100a0000000ffffa1000000ffffaa0000000100ab000000ffff00000002003d831aae939d05cadc5a47be093650b38fdea4f5ce1b358d636b050f22711cc50100990043497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000700746573746e65740b110907040074657374020074629d479c4701000000ec011c000022020000000000000400744254430c005465737420426974636f696e0c0054657374207361746f73686900e1f5050000000043497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000000101050000000100ee04005445535401000100ee0a0054657374206173736574030001000003040001001314ab096300000000a000010003e8030000000000000100a100010100010101e53a4d3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a03000000e5b24abc7e32f44fe80300000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000"
    },
    {
      "identifier": "524742",
      "subtype": 1,
      "key": "fc035247420194cde7e515a67d7e4783a84ebbc14d5a8bfb591446d93217387d2177646a46f8",
      "value": "0000000001008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac0100a100010000000100a100010200010101e53a4d3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a040000007438c6e5005b13f084030000000000004b0fa77ebba40ef0fb3dabfaa730cf0207431f8e529b2d9f65165eea339dd9830207ee5937e63b656684dc0ac5ca2d83b380f46da1f677467961534ac3706323b96400000000000000b4f05881445bf10f04c2540558cf30fcb36bbd585cad729c5abbffa29c9867bf00000000"
    }
  ],
  "unknown": {},
  "inputs": [
    {
      "non_witness_utxo": {
        "txid": "0a67cd6b1df62f5b74d470763eadfd520f6a9264e2fb0339db9e1092374d3ae5",
        "hash": "0a67cd6b1df62f5b74d470763eadfd520f6a9264e2fb0339db9e1092374d3ae5",
        "version": 1,
        "size": 266,
        "vsize": 266,
        "weight": 1064,
        "locktime": 2343446,
        "vin": [
          {
            "txid": "d2298d45f996343199e21d931015cb4d50ba75d1e991ffccb0800b1bfbe4ac82",
            "vout": 0,
            "scriptSig": {
              "asm": "",
              "hex": ""
            },
            "sequence": 4294967293
          }
        ],
        "vout": [
          {
            "value": 6.13e-06,
            "n": 0,
            "scriptPubKey": {
              "asm": "1 2ecd9e447575af3162f45907a28479ba29b40ba9ce0c314b92aef675426d392a",
              "desc": "addr(tb1p9mxeu3r4wkhnzch5tyr69prehg5mgzafecxrzjuj4mm82snd8y4qx8a0zg)#wkdgqdp2",
              "hex": "51202ecd9e447575af3162f45907a28479ba29b40ba9ce0c314b92aef675426d392a",
              "address": "tb1p9mxeu3r4wkhnzch5tyr69prehg5mgzafecxrzjuj4mm82snd8y4qx8a0zg",
              "type": "witness_v1_taproot"
            }
          },
          {
            "value": 0.00097265,
            "n": 1,
            "scriptPubKey": {
              "asm": "1 b7be9743d44dd223724ce8dd44877c8f62efe5fe216f69b7e91c637ccb4281d0",
              "desc": "addr(tb1pk7lfws75fhfzxujvarw5fpmu3a3wle07y9hkndlfr33hej6zs8gqfl4lmj)#tcwzmxl9",
              "hex": "5120b7be9743d44dd223724ce8dd44877c8f62efe5fe216f69b7e91c637ccb4281d0",
              "address": "tb1pk7lfws75fhfzxujvarw5fpmu3a3wle07y9hkndlfr33hej6zs8gqfl4lmj",
              "type": "witness_v1_taproot"
            }
          },
          {
            "value": 6.13e-06,
            "n": 2,
            "scriptPubKey": {
              "asm": "1 2ecd9e447575af3162f45907a28479ba29b40ba9ce0c314b92aef675426d392a",
              "desc": "addr(tb1p9mxeu3r4wkhnzch5tyr69prehg5mgzafecxrzjuj4mm82snd8y4qx8a0zg)#wkdgqdp2",
              "hex": "51202ecd9e447575af3162f45907a28479ba29b40ba9ce0c314b92aef675426d392a",
              "address": "tb1p9mxeu3r4wkhnzch5tyr69prehg5mgzafecxrzjuj4mm82snd8y4qx8a0zg",
              "type": "witness_v1_taproot"
            }
          },
          {
            "value": 6.13e-06,
            "n": 3,
            "scriptPubKey": {
              "asm": "1 8b3a72c11d96437d779c214b0750e699f35255af0f7409226f0e73a58f78f409",
              "desc": "addr(tb1p3va89sgajeph6auuy99sw58xn8e4y4d0pa6qjgn0pee6trmc7sysdtf2yr)#apkj3l2r",
              "hex": "51208b3a72c11d96437d779c214b0750e699f35255af0f7409226f0e73a58f78f409",
              "address": "tb1p3va89sgajeph6auuy99sw58xn8e4y4d0pa6qjgn0pee6trmc7sysdtf2yr",
              "type": "witness_v1_taproot"
            }
          },
          {
            "value": 6.13e-06,
            "n": 4,
            "scriptPubKey": {
              "asm": "1 8b3a72c11d96437d779c214b0750e699f35255af0f7409226f0e73a58f78f409",
              "desc": "addr(tb1p3va89sgajeph6auuy99sw58xn8e4y4d0pa6qjgn0pee6trmc7sysdtf2yr)#apkj3l2r",
              "hex": "51208b3a72c11d96437d779c214b0750e699f35255af0f7409226f0e73a58f78f409",
              "address": "tb1p3va89sgajeph6auuy99sw58xn8e4y4d0pa6qjgn0pee6trmc7sysdtf2yr",
              "type": "witness_v1_taproot"
            }
          }
        ]
      },
      "sighash": "ALL",
      "proprietary": [
        {
          "identifier": "524742",
          "subtype": 3,
          "key": "fc03524742038d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac",
          "value": "94cde7e515a67d7e4783a84ebbc14d5a8bfb591446d93217387d2177646a46f8"
        }
      ],
      "unknown": {
        "169dcfa33f4848d5b9e34af4e9dc4e7a596d31d25fbc042651c4494071f2e276d3": "008153ed60a800008014000080000000800000000000000000",
        "17": "9dcfa33f4848d5b9e34af4e9dc4e7a596d31d25fbc042651c4494071f2e276d3"
      }
    }
  ],
  "outputs": [
    {
      "bip32_derivs": [
        {
          "pubkey": "035285a5667d2556d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d",
          "master_fingerprint": "8153ed60",
          "path": "m/168'/20'/0'/1/0"
        }
      ],
      "proprietary": [
        {
          "identifier": "4c4e50425034",
          "subtype": 0,
          "key": "fc064c4e50425034008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac",
          "value": "198c7292bbe0b02fb671c8a02571213a34aed916ba49566e0f61c1b670c5d404"
        },
        {
          "identifier": "4c4e50425034",
          "subtype": 1,
          "key": "fc064c4e5042503401",
          "value": "ac0c9aa426d1e8be"
        },
        {
          "identifier": "544150524554",
          "subtype": 0,
          "key": "fc0654415052455400",
          "value": "010001"
        },
        {
          "identifier": "544150524554",
          "subtype": 1,
          "key": "fc0654415052455401",
          "value": "180245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f77"
        },
        {
          "identifier": "544150524554",
          "subtype": 2,
          "key": "fc0654415052455402",
          "value": "00005285a5667d2556d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d"
        }
      ],
      "unknown": {
        "05": "5285a5667d2556d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d"
      }
    }
  ],
  "fee": 5e-06
}

The rgb command can be installed using cargo install --force --all-features rgb-std --version "0.8.0"

echo '70736274ff01007d0200000001e53a4d3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a0300000000ffffffff017100000000000000415050505050505050505050505050505050505050505050505050505050506a21 80245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f7700000000004f01043587cf035b7102e180000000d45b541ee8cbf53a6642e5cdab5f58e4cbc8942ac36f94e581abb204b6e440bd038039f3775927d26eb54068c65d6a2d52a1d01e365f8 654ed181a6e6f7921c80108153ed60a8000080140000800000008026fc03524742008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1facfd6e0300000000000000000000000000000000000000000000000000000000000000000000000200 8004f7574506f696e740200010004005478696400000001000400547869640100001020000000080000000011fe01000011fe03000000000400000013a000000003b000000003b100010008004f7574506f696e74b2000011000500010003a0000100a1000100aa0000a 000000000500000001000100010001000100030001000100040001000100a000010001000400010000000100a0000000ffffa1000000ffffaa0000000100000000000700000000000100a1000100ffff0100a1000000ffff000010100300000000000100010000000100 30000000100010001000100010001000100000001000000a0100100a000010001000100a0000100ffff0300a0000000ffffa1000000ffffaa00000001000000a11000000100aa00010001000200aa0000000100ab00000001000000a2100400b00001000100b1000100f ffb2000000ffffb300010001000100ab00010001000100ab00000001000000a3100500a00001000100b00001000100b1000100ffffb2000000ffffb300010001000100ab00010001000200a1000100ffffab00000001000000008000000500010000000100a0000000ff fa1000000ffffaa0000000100ab000000ffff0500010000000100a0000000ffffa1000000ffffaa0000000100ab000000ffff00000002003d831aae939d05cadc5a47be093650b38fdea4f5ce1b358d636b050f22711cc50100990043497fd7f826957108f4a30fd9cec aeba79972084e90ead01ea3309000000000700746573746e65740b110907040074657374020074629d479c4701000000ec011c000022020000000000000400744254430c005465737420426974636f696e0c0054657374207361746f73686900e1f5050000000043497f 7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000000101050000000100ee04005445535401000100ee0a0054657374206173736574030001000003040001001314ab096300000000a000010003e8030000000000000100a100010100010101e53a4 3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a03000000e5b24abc7e32f44fe8030000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000026fc035247420194cde7e5 5a67d7e4783a84ebbc14d5a8bfb591446d93217387d2177646a46f8d90000000001008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac0100a100010000000100a100010200010101e53a4d3792109edb3903fbe264926a0f52fdad3e767 d4745b2ff61d6bcd670a040000007438c6e5005b13f084030000000000004b0fa77ebba40ef0fb3dabfaa730cf0207431f8e529b2d9f65165eea339dd9830207ee5937e63b656684dc0ac5ca2d83b380f46da1f677467961534ac3706323b96400000000000000b4f058 1445bf10f04c2540558cf30fcb36bbd585cad729c5abbffa29c9867bf00000000000100fd0a01010000000182ace4fb1b0b80b0ccff91e9d175ba504dcb1510931de299313496f9458d29d20000000000fdffffff0565020000000000002251202ecd9e447575af3162f 5907a28479ba29b40ba9ce0c314b92aef675426d392af17b010000000000225120b7be9743d44dd223724ce8dd44877c8f62efe5fe216f69b7e91c637ccb4281d065020000000000002251202ecd9e447575af3162f45907a28479ba29b40ba9ce0c314b92aef675426d 92a65020000000000002251208b3a72c11d96437d779c214b0750e699f35255af0f7409226f0e73a58f78f40965020000000000002251208b3a72c11d96437d779c214b0750e699f35255af0f7409226f0e73a58f78f40916c223000103040100000021169dcfa33f484 d5b9e34af4e9dc4e7a596d31d25fbc042651c4494071f2e276d319008153ed60a8000080140000800000008000000000000000000117209dcfa33f4848d5b9e34af4e9dc4e7a596d31d25fbc042651c4494071f2e276d326fc03524742038d36f19ccdb74f4f5e4b45aa 0bdfb4393a2d4d6617fb8e63250e577b24e1fac2094cde7e515a67d7e4783a84ebbc14d5a8bfb591446d93217387d2177646a46f8002202035285a5667d2556d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d188153ed60a800008014000080000000800 000000000000000105205285a5667d2556d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d29fc064c4e50425034008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac20198c7292bbe0b02fb671c8a02571213a34aed916ba 9566e0f61c1b670c5d40409fc064c4e504250340108ac0c9aa426d1e8be09fc06544150524554000301000109fc065441505245540120180245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f7709fc06544150524554022200005285a5667d255 d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d00' | xxd -r -p > demo.psbt

Then run: rgb psbt analyze demo.psbt

My output:

contracts:
- contract_id: rgb135m0r8xdka857hjtgk4dp00mgwf694xkv9lm3e3j2rjh0vjwr7kqyg593p
  - source: rgbc1qxz4ynegq3g33l77hjv7cg3mutjy7mgw469pp3vpk3gj9aky3x6mr9ple53ju29w2gjzndytjwy4sd7fg5hg4yujfpgs4jgf9ycaaa77e34xk677xjll003lhlhhhu7dplwfwqs7dqvktt2rj9q6vqqpzkpw8yg7recgupzq7aeahq7emxlsfq0zt8jk7n55q0w58k883nl4yuv7qcd805fgsuv8ldcpfjjxng4k7dggr2kqdr3qesszkzkf3srdu8qe2fjs266zehp3e6h6s5emytvnf2vtuvzc36jwr7u4k9jdmy56dqacx0nzjg9a5cwah5z4mqfezl23yyhfspmk25emrjlvf4wmxwa6wy20h2cuyexgxxrpaf5e3chvzcthlwrxyehhwu2d8wa76zqu0v445rlxa7mruthje0n5yqu64a52fcy5cq9dgd6wt4732tud0r0rwlwhzunmhpcne0ldneavrhe99e54sdnkrqcdsev5dd3hf52cvq4v0vkmqxkqrw7fyq5qyfzk4z58awp0txgsu3ylawsgpdc5tkyk68zcdr97prw8lgqwtjasyg2j9ah4erqda4q3e56mhgkd2egcvxr05qv2ntyujddayxjwpv8fjw2gx4q2vuglykxatju6pt7l2ng7lpu7s4l9lk70fmka3up9avk0jtqu8rh5637zvw7wj69j7j7u2cdm9jfxelspuw3hlp
  - transitions:
  - used in:
    - input: 0
      node_id: f8466a6477217d381732d9461459fb8b5a4dc1bb4ea883477e7da615e5e7cd94
bundles:
- contract_id: rgb135m0r8xdka857hjtgk4dp00mgwf694xkv9lm3e3j2rjh0vjwr7kqyg593p
  bundle_id: 04d4c570b6c1610f6e5649ba16d9ae343a217125a0c871b62fb0e0bb92728c19
    - revealed: # nodes
      - f8466a6477217d381732d9461459fb8b5a4dc1bb4ea883477e7da615e5e7cd94: 0000000001008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac0100a100010000000100a100010200010101e53a4d3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a040000007438c6e5005b13f084030000000000004b0fa77ebba40ef0fb3dabfaa730cf0207431f8e529b2d9f65165eea339dd9830207ee5937e63b656684dc0ac5ca2d83b380f46da1f677467961534ac3706323b96400000000000000b4f05881445bf10f04c2540558cf30fcb36bbd585cad729c5abbffa29c9867bf00000000
    - concealed: # nodes and inputs
proprietary: # all proprietary keys
- global:
  - RGB/0x00/8d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac: 0000000000000000000000000000000000000000000000000000000000000000000000020008004f7574506f696e740200010004005478696400000001000400547869640100001020000000080000000011fe01000011fe03000000000400000013a000000003b000000003b100010008004f7574506f696e74b2000011000500010003a0000100a1000100aa0000ab000000000500000001000100010001000100030001000100040001000100a000010001000400010000000100a0000000ffffa1000000ffffaa0000000100000000000700000000000100a1000100ffff0100a1000000ffff000010100300000000000100010000000100030000000100010001000100010001000100000001000000a0100100a000010001000100a0000100ffff0300a0000000ffffa1000000ffffaa00000001000000a11000000100aa00010001000200aa0000000100ab00000001000000a2100400b00001000100b1000100ffffb2000000ffffb300010001000100ab00010001000100ab00000001000000a3100500a00001000100b00001000100b1000100ffffb2000000ffffb300010001000100ab00010001000200a1000100ffffab00000001000000008000000500010000000100a0000000ffffa1000000ffffaa0000000100ab000000ffff0500010000000100a0000000ffffa1000000ffffaa0000000100ab000000ffff00000002003d831aae939d05cadc5a47be093650b38fdea4f5ce1b358d636b050f22711cc50100990043497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea3309000000000700746573746e65740b110907040074657374020074629d479c4701000000ec011c000022020000000000000400744254430c005465737420426974636f696e0c0054657374207361746f73686900e1f5050000000043497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000000101050000000100ee04005445535401000100ee0a0054657374206173736574030001000003040001001314ab096300000000a000010003e8030000000000000100a100010100010101e53a4d3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a03000000e5b24abc7e32f44fe80300000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000
  - RGB/0x01/94cde7e515a67d7e4783a84ebbc14d5a8bfb591446d93217387d2177646a46f8: 0000000001008d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac0100a100010000000100a100010200010101e53a4d3792109edb3903fbe264926a0f52fdad3e7670d4745b2ff61d6bcd670a040000007438c6e5005b13f084030000000000004b0fa77ebba40ef0fb3dabfaa730cf0207431f8e529b2d9f65165eea339dd9830207ee5937e63b656684dc0ac5ca2d83b380f46da1f677467961534ac3706323b96400000000000000b4f05881445bf10f04c2540558cf30fcb36bbd585cad729c5abbffa29c9867bf00000000
- inputs:
  - 0:
    - RGB/0x03/8d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac: 94cde7e515a67d7e4783a84ebbc14d5a8bfb591446d93217387d2177646a46f8
- outputs:
  - 0:
    - LNPBP4/0x00/8d36f19ccdb74f4f5e4b45aad0bdfb4393a2d4d6617fb8e63250e577b24e1fac: 198c7292bbe0b02fb671c8a02571213a34aed916ba49566e0f61c1b670c5d404
    - LNPBP4/0x01/: ac0c9aa426d1e8be
    - TAPRET/0x00/: 010001
    - TAPRET/0x01/: 180245be6aa0c58a7e3a88b946096fa7a1d8e3f1cc4c41c16311b6f74f763f77
    - TAPRET/0x02/: 00005285a5667d2556d8047d246adab835557b4b1f5f7518a6e02f002ca69fde8f0d

Expected behavior
BDK signs and sends the RGB PSBT to the esplora server.

Build environment

  • BDK tag/commit: v0.21.0
  • OS+version: Arch btw
  • Rust/Cargo version: 1.63.0
  • Rust/Cargo target: x86_64-unknown-linux-gnu

Additional context
RGB is a tokens protocol built directly on Bitcoin, and the PSBT is to create an anchor transaction on-chain that's used to prove the owner of the RGB20 asset being created in the test.

The test can be found here:
https://github.com/diba-io/bitmask-core/blob/536c795b69015cb8fee322498873e248753d75a1/tests/asset.rs

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions