nayutaco / ptarmigan

Lightning Network (BOLT)
Apache License 2.0
132 stars 19 forks source link

establish before detect funding_tx spent #1611

Closed nayuta-ueno closed 4 years ago

nayuta-ueno commented 4 years ago

commit 98f05c9b01fc87c2203b16a28291974cb18f03ac

establish待ちの間に相手からunilateral closeした場合、funding_txがspentされたチェックの前にconfirmationがminimum_depthに達したことを検出してしまうことがあった。

そうなった場合、ptarmcli -lなどとするとロックしてしまう。

nayuta-ueno commented 4 years ago

再現手順

(regtest)

  1. LNDとptarmdを立ち上げる
  2. ptarmd: LNDに接続
  3. LND: ptarmdにopenchannel
  4. LND: ptarmdにclosechannel --force
  5. BTC: generate 1
  6. ptarmdがdbcloseしたところで、ptarmcli -l
nayuta-ueno commented 4 years ago

ptarmd同士の場合は、unilateral closeした時点で相手をdisconnectするので発生しないと思われる。 LND以外は切断するのではないだろうか。

また、establish後にunilateral close(remote)しても発生したような気がする。