[BUG] Withdraw cause node account get slashed
Related to #1099 (closed)
This PR actually fix two different bugs.
-
When an LP withdraw their liquidity, usually it will be one inbound transaction, which result two outbound transaction , one is for external chain to send asset back to LP, the other one is on THORChain , sending RUNE back to LP With delay outbound change , there is a new field
outbound_height
on ObservedTxVoter , which will be set to the block height which the external chain transaction will be sent out. However when the second outbound on THORChain get processed , theoutbound_height
get overwritten , thus when the outbound transaction get processed by bifrost , the network fail to find out the tx out item , as a result , node operator get slashed. -
When an LP trying to add liquidity , and for some reason add liquidity failed , which result in a refund , because add liquidity usually doesn't have any outbound , unless failure cause refund, in the failure case ,
outbound_height
get overwritten later in the process