Open gmart7t2 opened 1 year ago
Attempting to do 2 sends from the same wallet fails since the first and locks the inscriptions and the 2nd and tries to lock the already locked inscriptions:
$ ord wallet send --fee-rate 1 bcrt1plpelsvnyy7qf6nrjdmdveat7krcy6mcr2ydl4pnftcz4qvgqpjysz79xgt 1000000sats
{
"transaction": "09333af8d91af16b00db361ea8005908a12a10393efd54b794263547d7d11ad5"
}
$ ord wallet send --fee-rate 1 bcrt1plpelsvnyy7qf6nrjdmdveat7krcy6mcr2ydl4pnftcz4qvgqpjysz79xgt 1000000sats
error: JSON-RPC error: RPC error response: RpcError { code: -8, message: "Invalid parameter, output already locked", data: None }
$
I have the same issue, unlocking my inscriptions and sending again fixed it.
BUT I noticed that it included one unconfirmed inscription (transaction was still in mempool) as an input to the new send transaction. It looks like the send function locked all confirmed inscriptions but ignored unconfirmed ones in mempool, which could result in losing that inscription as transaction fee. Be careful, don't use the send function if you have any unconfirmed inscriptions.
This should be fixed in ord as it poses a risk of losing inscriptions.
Incase the wallet is not found, providing the wallet path as below, the default wallet name is ord
$ bitcoin-cli -rpcwallet=ord lockunspent true
Sending a cardinal involves locking inscription outputs so that bitcoin's sendtoaddress RPC won't spend them. But they never get unlocked again. Here's an example:
I have an inscription:
Nothing is locked:
I send a cardinal away:
And now my inscription utxo is locked:
I am now unable to send any more cardinals because the send command tries to lock my inscription but fails because it is already locked:
So I unlock it:
Now I can send cardinals again:
Fix: unlock the locked inscriptions after calling
sendtoaddress
.