lightninglabs/pool

recovery: surface "payment required" error during account recovery instead of "server sent unexpected error"

behodl opened this issue · 8 comments

I'm unable to recover my Pool account:

Screenshot 2022-06-01 at 18 53 49

trader_key: 0373822aee1643eb2c10422bd86fac0c931267353ed53074133444ced1bb283f04

I had attempted to close the account previously on my old node before the node failed completely, so I suspect the account is in some odd state...

@guggero requested that I raise this here.

Thank you 🙏

It looks like there is already an active stream for this account. Did you move/rename the pool.db file before trying to recover your account? (so it does not automatically subscribe the active accounts when the deamon is starting up)

Thank you

I just deleted the pool.db and rebooted. The first time I run recover I get:
[pool] rpc error: code = Unknown desc = error performing recovery: could not recover account 0373822aee1643eb2c10422bd86fac0c931267353ed53074133444ced1bb283f04: error during authentication, before sending subscribe: server sent unexpected error

If I run it again I then get:
[pool] rpc error: code = Unknown desc = error performing recovery: could not recover account 0373822aee1643eb2c10422bd86fac0c931267353ed53074133444ced1bb283f04: account 0373822aee1643eb2c10422bd86fac0c931267353ed53074133444ced1bb283f04 is already subscribed, cannot recover

So no change.

Something goes wrong during the first attempt. The "is already subscribed" is a follow-up problem. Can you send us your full Pool (or LiT) log please?

Let me know if you want the full log:

2022-06-01 05:43:23.993 [INF] LITD: Handling gRPC request: /poolrpc.Trader/RecoverAccounts
2022-06-01 05:43:23.998 [INF] POOL: Attempting to recover accounts...
2022-06-01 05:43:24.336 [ERR] AUCT: [/poolrpc.ChannelAuctioneer/OrderState]: rpc error: code = Internal desc = payment required
2022-06-01 05:43:24.336 [INF] LSAT: Payment of LSAT token is required, paying invoice
2022-06-01 05:43:27.538 [WRN] LNDC: Payment 955daf19e0a6cd562ee58e4478fe16807da0603c3167c7e0fd69432fbc7eef66 failed: insufficient_balance

Aaah, that's a known problem. You require an LSAT for connecting to the server. You can copy the lsat.token file from your old node to the new node, if that file still exists there. The other option is to use the chantools closepoolaccount command which doesn't require server interaction since your account is expired. I'm going to DM you the parameters you can use to speed things up on Slack.

I'm going to rename the issue so we can track the changes necessary to surface the "payment required" error in the first step.

You're a legend, thank you so much

Hi, I got in trouble, my lighting terminal app on umbrel had some issue to connect so I uninstalled and reinstalled, from them I lost my access to the funds on my pool, and I don't know how to solve it.

@mvccferreira see the comment here: lightninglabs/lightning-terminal#372 (comment)
You need to run the account recovery in the CLI.