MW transactions related questions

I’d like to ask a few question related to MW transactions that I saw on litecoin network.

This is an example of decoded PegIn transaction:

{...
 'locktime': 2555172,
 'size': 2203,
 'txid': 'b89c36c90b8742caa1cc5bd3f686b144dea1513a1c78f181225dd9e7eb6cd77f',
 'version': 2,
 'vin': [{'ismweb': False,
          'scriptSig': {'asm': '', 'hex': ''},
          'sequence': 4294967294,
          'txid': '1f8264910c9882de7955a0f5b386ee142701b3711719a54a37afa72a29d51366',
          'txinwitness': ['30440220777fbf4d36a5e39c0ba6a6e70f67cf6bec2c25002b3fd0fbf541c8e7fdecdd6002200211ef28894b5cb31c735dedb0dc33bfc18ce355f335b9677493388a8b0cb6b801',
                          '0266c10f489496f40150d26510978cb88402cfd9180b8c89c28e12bbbabde6e893'],
          'vout': 0}],
 'vkern': [{'fee': Decimal('0.00003900'),
            'kernel_id': '2baee39243b58230260dee3800e0bfa0cc6af17695ecf2ae0654741738fccc2b',
            'pegin': Decimal('82.99998370'),
            'pegout': []}],
 'vout': [{'ismweb': False,
           'n': 0,
           'scriptPubKey': {'asm': '9 '
                                   '2baee39243b58230260dee3800e0bfa0cc6af17695ecf2ae0654741738fccc2b',
                            'hex': '59202baee39243b58230260dee3800e0bfa0cc6af17695ecf2ae0654741738fccc2b',
                            'type': 'witness_mweb_pegin'},
           'value': Decimal('82.99998370')},
          {'ismweb': True,
           'output_id': '0485f4098d229eb9d1399089b8a239af3df987bc9fa537795aa16e9fc9711754'},
          {'ismweb': True,
           'output_id': 'ee416b380658f19be5addf8b4178d9e1e992dfb89bfd4f0d0a97d51f58515f62'}],
 'vsize': 163,
 'weight': 649}
  1. I didn’t find specification of the fields. What does ‘ismweb’ and ‘output_id’ fields mean?

1a) If ‘ismweb’ == True, does it imply that no other field except for ‘output_id’ field is present in that output?

  1. I noticed that ‘vout’ of PegIn transactions has similar pattern - 1st entry is a transfer of the specified amount to MWEB. That 1st entry is usually followed by two entries as in the above example. What they are? A change? Why two?

  2. The PegIn transactions look like as above only until they are in mempool. Once they get to block, the output of ‘getrawtransaction’ differs significantly, as follows. Why? Why additional vout entries disappeared?

{'error': 0,
 'id': 1,
 'result': {'blockhash': '20feda03d4018f8f1f6c116ab956c5f0dc263d04b7d69edab0a45c62268ff99b',
            'blocktime': 1696263591,
            'confirmations': 1079,
            'hash': '037a754d82cadfa5c4776d53da216a406f5727c8801dc1c81be0960d1208f484',
            'hex': '020000000001016613d5292aa7af374aa5191771b3012714ee86b3f5a05579de82980c9164821f0000000000feffffff01a2ecb7ee010000002259202baee39243b58230260dee3800e0bfa0cc6af17695ecf2ae0654741738fccc2b024730440220777fbf4d36a5e39c0ba6a6e70f67cf6bec2c25002b3fd0fbf541c8e7fdecdd6002200211ef28894b5cb31c735dedb0dc33bfc18ce355f335b9677493388a8b0cb6b801210266c10f489496f40150d26510978cb88402cfd9180b8c89c28e12bbbabde6e89324fd2600',
            'locktime': 2555172,
            'size': 203,
            'time': 1696263591,
            'txid': 'b89c36c90b8742caa1cc5bd3f686b144dea1513a1c78f181225dd9e7eb6cd77f',
            'version': 2,
            'vin': [{'ismweb': 0,
                     'scriptSig': {'asm': '', 'hex': ''},
                     'sequence': 4294967294,
                     'txid': '1f8264910c9882de7955a0f5b386ee142701b3711719a54a37afa72a29d51366',
                     'txinwitness': ['30440220777fbf4d36a5e39c0ba6a6e70f67cf6bec2c25002b3fd0fbf541c8e7fdecdd6002200211ef28894b5cb31c735dedb0dc33bfc18ce355f335b9677493388a8b0cb6b801',
                                     '0266c10f489496f40150d26510978cb88402cfd9180b8c89c28e12bbbabde6e893'],
                     'vout': 0}],
            'vout': [{'ismweb': 0,
                      'n': 0,
                      'scriptPubKey': {'asm': '9 '
                                              '2baee39243b58230260dee3800e0bfa0cc6af17695ecf2ae0654741738fccc2b',
                                       'hex': '59202baee39243b58230260dee3800e0bfa0cc6af17695ecf2ae0654741738fccc2b',
                                       'type': 'witness_mweb_pegin'},
                      'value': 82.9999837}],
            'vsize': 122,
            'weight': 485}}
  1. Why PegOut transactions (example below) exist only in mempool? Once the block gets mined, the getrawtransaction returns “No such mempool or blockchain transaction.”
{...
 'locktime': 2555139,
 'size': 1727,
 'txid': '63fe443214654b7afa393f8ed8ad7f241cf2e0a3ab2004e735f980d08a6c6cc0',
 'version': 2,
 'vin': [{'ismweb': True,
          'output_id': 'b0e801c08449b2d2c556f03d453abe33e8d3cdee104ab93856ed781d1fc93324'},
         {'ismweb': True,
          'output_id': 'b2223dce5a8b18db5dcf2deafc60c4a08e0dba1e574d2437d7b719ae545ecb7d'},
         {'ismweb': True,
          'output_id': 'b75128be245d152654067bb7e54f79adf5e290f6754b7d7ec46697e97096ff7f'}],
 'vkern': [{'fee': Decimal('0.00002510'),
            'kernel_id': 'c06c6c8ad080f935e70420aba3e0f21c247fadd88e3f39fa7a4b65143244fe63',
            'pegin': Decimal('0E-8'),
            'pegout': [{'scriptPubKey': {'addresses': ['ltc1qnkfn84w74xntd438geszel9gn74p03z99349tw'],
                                         'asm': '0 '
                                                '9d9333d5dea9a6b6d62746602cfca89faa17c445',
                                         'hex': '00149d9333d5dea9a6b6d62746602cfca89faa17c445',
                                         'reqSigs': 1,
                                         'type': 'witness_v0_keyhash'},
                        'value': Decimal('7.96000000')}]}],
 'vout': [{'ismweb': True,
           'output_id': '5f70a00fd52505b93d5c08e1f7ba3f57d17a6c23ca68ebc5358b0957f90f24fd'}],
 'vsize': 31,
 'weight': 124}
  1. Is the following transaction an example of “native” MW transaction (I mean a transaction merely within MWEB)? Again, why does it exist only until it gets mined? Once it gets mined, the getrawtransaction returns “No such mempool or blockchain transaction.”
{...
 'locktime': 2555177,
 'size': 2399,
 'txid': '3fd9b503ee07ff02a5c2ae3278c78c0c1808a456c923b32be27eebb1160c78a5',
 'version': 2,
 'vin': [{'ismweb': True,
          'output_id': '2e866708759e156bf664f930ad3d17e10889cc590879002763f529e704c40db1'},
         {'ismweb': True,
          'output_id': 'ee416b380658f19be5addf8b4178d9e1e992dfb89bfd4f0d0a97d51f58515f62'}],
 'vkern': [{'fee': Decimal('0.00003900'),
            'kernel_id': 'a5780c16b1eb7ee22bb323c956a408180c8cc77832aec2a502ff07ee03b5d93f',
            'pegin': Decimal('0E-8'),
            'pegout': []}],
 'vout': [{'ismweb': True,
           'output_id': '4b6b7ab2eba72be832e41086fc1b4237d3fcbb740e1c9c09a10f3020c7f700fa'},
          {'ismweb': True,
           'output_id': '5e46d4b08574fcfbdf30dc93eafbb1635f981fa1c5a7e9ac5e101e6f57508c60'}],
 'vsize': 0,
 'weight': 0}

Hi Krax
Welcome to the Litecoin Forum
I will help as good as i can.

First to pegins

As far i know a pegin can only contains of 1 input and 1 output, no change.
A full utxo gets delivered into mweb.
Thats a rule in Litecoin

About pegout and why they disappear
A pegout is always a split from a movement of the full mweb balance.
Simply check out a pegout transaction in a block Explorer.

Why it isnt possible to see the rawtransaction anymore i can’t tell you.
I just know, if this is still up to date, nobody can create a rawtransaction with a utxo from a mweb address because there is no vout(number) in that utxo.
It has something different which allows mweb to control it?! Or something like that.

I hope this helps you a bit.

Fully deep details are just known by a couple of people.
For Example David & Loshan

hey I have a decision

There is a Litecoin discord channel where you could have answershttps://discord.com/channels/1143337692483047539/1143397467883327539

Loshan is not easily reachable but is on it as well some others devs

2 Likes

Thank you for Discord link. Unfortunately, when I try to get there, nothing is visible. I probably do not have an access permission.

Maybe try the invite link from Loshan’s announcement tweet.

EDIT: Oops, seems dead. I’ve just asked on the Discord for a new invite link.

New invite link: Litecoin International

1 Like

See @David’s response in the reddit thread.

@Roman1 Thanks a lot.

1 Like