mwcproject / mwc-node

Mimblewimble applied in the base layer. Scarce, censorship resistant, durable, indestructible, salable, portable, fungible, private & divisible.‍ Good money.
https://mwc.mw/
Apache License 2.0
33 stars 26 forks source link

Transaction can stale #72

Open bayk opened 2 months ago

bayk commented 2 months ago

Describe the bug In case of unstable network, transaction can stale in some network nodes transaction pool. If mining node doesn't get a transaction during initial push cycle, the transaction will never be mined, but it will stay in the transaction pools of other nodes that will prevent to republish the same transaction (get error Tx is already in transaction pool), or will not be able to emit another transaction with the same output because of cut through erorr.

To Reproduce Use floonet. Stop mining, shout down the mining node. Start mining node, start mining. Posted earlier transaction will never reach the mining node. Post transaction from your wallet. Wallet must be connection to not mining node. Wait few minutes. Repost transaction from the wallet - will not help. Cancel transaction and send another one with the same output will not work as well.

User will need to wait for a while untill transaction will be expired from the transaction pool of all nodes.