We have been able to see this, and have had users report when they send funds, the nodes reject the transactions, and they show pending indefinitely.
Work Around:
Restoring wallet from mnemonic words & password.
What we have seen happens:
User Bob open's his wallet, not staking, maybe he was last week, or a days ago, but is not staking, so his coins are all matured.
He sends 1000 to his friend.
It never get's confirmed.
Because the nodes reject it
Here is the error we get on the staking nodes when a user broadcasts a transaction when it fails:
[2018-09-13 19:01:00.9074 28] INFO: Stratis.Bitcoin.Features.MemoryPool.MempoolBehavior+<ProcessTxPayloadAsync>d__29.MoveNext Transaction ID '83e1c328d064e372a7df4f67255c7bb16e0b61377a55ab813c5b36ccd49d1eee' from peer '[::ffff:xxx.xxx.xxx.xxx]:52342' was not accepted. Invalid state of '18 (code bad-txns-inputs-spent)'.
[2018-09-13 19:01:01.0704 9] INFO: Stratis.Bitcoin.Features.MemoryPool.MempoolOrphans.AddOrphanTx stored orphan tx 214c5a5e819fad07f9e2c2e6e52d4fa8e8f86b53a1b1665b1c10c1a6073e0a70 (mapsz 1 outsz 1)
[2018-09-13 19:01:02.6278 28] INFO: Stratis.Bitcoin.Features.MemoryPool.MempoolOrphans.ProcessesOrphansMissingInputs not keeping orphan with rejected parents 608ad2430b5b7c66c929d88f8130b8a73e9ec285dbee515a3b31f3617eb68ecc
[2018-09-13 19:01:02.8613 28] INFO: Stratis.Bitcoin.Features.MemoryPool.MempoolOrphans.AddOrphanTx stored orphan tx 7e2ac19446b3fb592c46beeb6bc5b3de0ab43b6dc1a8aea838ec66e2b32b2aac (mapsz 2 outsz 2)
Reproduction steps:
Have a wallet with 1000 x42
Create a new wallet.
Get a list of unused addresses from new wallet.
Send chunks of 10 - 50 to the new wallet.
Result:
Some of the transactions will go through, others will be stuck.
We have been able to see this, and have had users report when they send funds, the nodes reject the transactions, and they show pending indefinitely.
Work Around: Restoring wallet from mnemonic words & password.
What we have seen happens: User Bob open's his wallet, not staking, maybe he was last week, or a days ago, but is not staking, so his coins are all matured. He sends 1000 to his friend. It never get's confirmed. Because the nodes reject it
Here is the error we get on the staking nodes when a user broadcasts a transaction when it fails:
Reproduction steps:
Result: Some of the transactions will go through, others will be stuck.