Skip to content

"ord wallet mint" spent my immature etch commitment #3436

@gmart7t2

Description

@gmart7t2

I made a new etching:
https://mempool.space/signet/tx/54b6bf9922956bed66c1d4f45b5e53c2ece2288da92d4b92b6e2bc1d2d690f93
It confirmed in block 189442.

I hit control-C while waiting for it to mature, to test that I could resume it later.

While waiting for it to mature, I minted some other tokens:
https://mempool.space/signet/tx/b380a138389006893fac084b7377a5e4e4f3847f50be80523e41fe126f8e65d3

The mint tx spent my commitment! The mint confirmed in block 189446, while the commitment was 4 blocks deep.

When I went back to resume the etching, I saw:
"Waiting for rune commitment 54b6bf9922956bed66c1d4f45b5e53c2ece2288da92d4b92b6e2bc1d2d690f93 to mature…"
even though by now the commitment was 11 blocks deep.

Checking the wait loop I see that the .get_tx_out(&commit.txid(), ...) call is returning None, because the output is no longer unspent.

We should:

  • avoid spending commitment utxos except by revealing them
  • detect and complain when commitment utxos have been spent, rather than entering an infinite loop

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    To Do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions