firoorg / firo

The privacy-focused cryptocurrency
https://firo.org
MIT License
720 stars 354 forks source link

"Click here" in migration banner unclickable #1391

Closed justanwar closed 4 months ago

justanwar commented 10 months ago

In some circumstances the "Click here" in migration banner is unclickable. The RPC call still works.

image

nrsimha commented 10 months ago

I have same issue on MacOS. Firo Core version v0.14.13.0-g39c41e5e7 (64-bit)

Dubaiali commented 10 months ago

@justanwar Got the same issue. Can someone explain RCP Call and where to do that?

justanwar commented 10 months ago

Known workarounds (independent of each other):

  1. Unlock wallet with walletpassphrase "YOURPASSWORD" 30 in the Debug Console. The migrate banner should be clickable now.
  2. Go to Send tab and attempt a transparent Send. A window should pop up asking you to go private. Proceed to private, then another window should pop up asking you to migrate from Lelantus to Spark.
  3. Use the lelantustospark RPC in the Debug Console.
  4. Use the joinsplit RPC in the Debug Console to spend Lelantus to a transparent address, then send those to Spark.

Attempting to use the Send -> Private Balance to send Lelantus to Spark will not work.

goodc0re commented 10 months ago

@justanwar, the workaround options cause Firo Core on macOS Sonoma 14.2.1 to become unresponsive and it needs to be force quit. After each force quit it needs to sync that last 36 hours again. This is on a 32 GB Ram 2,4 GHz 8-Core Intel Core i9 machine. The wallet contains only Lelantus outputs. The balance is shown as 0 and the "Click here" in the migration banner is unclickable. I tried all the options and so far could not migrate any funds.

justanwar commented 10 months ago

@goodc0re Could you try the joinsplit RPC method? Create a transparent address and use it as the argument. It is recommended to also open private balance coin control to see how many Lelantus inputs/amount you have and spread it over several joinsplit (Lelantus spend) transactions.

goodc0re commented 10 months ago

@justanwar The joinsplit RPC method also results in Firo Core to become unresponsive and needing to be force closed after issuing the command. The wallet had been unlocked prior to issuing the joinsplit command.

nrsimha commented 10 months ago

@goodc0re After I use walletphrase to unlock wallet and clicking link, it became unresponsive too, but I waited. In 30 seconds it did show dialog. After choosing to migrate it became again unresponsive (i think even for few minutes), but I let it run and after few minutes when I went back to wallet it was migrated and everything works nicely.

goodc0re commented 10 months ago

@nrsimha Thanks, it needed a couple of minutes of unresponsiveness and indeed migration worked in the end. A note along the lines of "may take a while" might be useful somewhere in the gui.

JCThePants commented 9 months ago

I've been trying to migrate and tried the RPC calls (joinsplit and lelantustospark). They appear successful but when I check the transaction, it says "0/offline, has not been successfully broadcast yet". If I try to rebroadcast, I get a dialog window that says "There was an error trying to broadcast the message:".

Edit: I'm also connected to 8 peers and the balance does not reflect the transaction.

justanwar commented 9 months ago

@JCThePants Which transactions failed to rebroadcast? (Lelantus to transparent/transparent to Spark?) Are those transactions by any chance exceeding 140kB? We have a fix for this already but it is not released yet. In the meantime, try using smaller amounts to get it below this size.

For reference: https://forum.firo.org/t/lelantus-to-spark-migration-workarounds/3112

JCThePants commented 9 months ago

@justanwar I'm attempting to migrate my Lelantus balance and encountered the issue of not being able to use "Click here". I used the workarounds you mentioned here: https://forum.firo.org/t/lelantus-to-spark-migration-workarounds/3112

In all cases, my transactions would not broadcast or re-broadcast.

The transaction size was 65270 bytes.

I've abandoned the transaction and attempted joinsplit to a transparent address again but using less than the full amount this time and it successfully broadcast.

Edit: I did a second joinsplit using the full remaining amount and experienced the same issue of not broadcasting. The transaction shows "0/unconfirmed, not in memory pool, has not been successfully broadcast yet". Attempt to rebroadcast yields error: "There was an error trying to rebroadcast the message:". The transaction size 62710 bytes.

The joinsplit command syntaxt I'm using looks like:

joinsplit "{\"transparentAddress\":amount}" "[\"transparentAddress\"]"

It seems I'm not able to broadcast the transaction when using the full amount.

skironDotNet commented 8 months ago

Unlock wallet with walletpassphrase "YOURPASSWORD" 30 in the Debug Console. You should be able to “Click here” in the migration banner.

https://forum.firo.org/t/lelantus-to-spark-migration-workarounds/3112

The only "bug" about is the fact it's not explicitly mentioned on the banner that the wallet needs to be unlocked first

levonpetrosyan93 commented 4 months ago

Fixed in #1456 ,