-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
celocli crashes when unlocking funds with ledger ("Ledger device: UNKNOWN_ERROR (0x6b26)") #195
Comments
Just to be sure, could you try the command with - % celocli releasegold:locked-gold --contract $CELO_RG_ADDRESS --action unlock --useLedger --value 100578303998975999900
+ % celocli releasecelo:locked-gold --contract $CELO_RG_ADDRESS --action unlock --useLedger --value 100578303998975999900 Probably not the cause the of the problem, but good to be extra sure. |
Tried with releasecelo, got the same issue. patrick@C3X2C4YGJ0 Downloads % celocli releasecelo:locked-gold --contract $CELO_RG_ADDRESS --action unlock --useLedger --value 100578303998975999900
Retrieving derivation Paths [ 0 ]
Running Checks:
✔ 0xFfb9F456d3eef70aB79C58ea9b038513139612c8 is a registered Account
✔ 0xFfb9F456d3eef70aB79C58ea9b038513139612c8 is not currently voting on a governance proposal
✔ Account has at least 100.5783039989759999 non-voting Locked Gold over requirement
All checks passed
maxFeePerGas and maxPriorityFeePerGas are not supported on Ledger yet. Automatically using gasPrice instead.
Sending Transaction: lockedGoldUnlock... failed: Ledger device: UNKNOWN_ERROR (0x6b26)
TransportStatusError: Ledger device: UNKNOWN_ERROR (0x6b26) |
@nikosfrestisclabs pointed out this might be duplicate of |
@nicolasbrugneaux kindly agreed to own this issue. He'll start working on it on Mon, Mar 25. |
Just chiming in also getting this error. Bit of a problem for validators, I am trying to change signers and can't use Ledger keys right now. Trying to revert to node 14 / celocli 2.5.1 or 3.0.0 to get it to work. Would love a fix for this! Is there a confirmed workaround or do I have to derive my private keys and inject them directly to the cli to manage the validator? |
Thanks for chiming in @aaronmboyd 👋 @nicolasbrugneaux has been working on a fix, and has been our owner for all things Ledger. He's the best point of contact for this bug. I'll let him get back to you. |
@nicolasbrugneaux @arthurgousset just some notes that might be helpful: Unfortunately, corresponding changes never happened in the Celo Ledger app: https://github.com/celo-org/celo-ledger-spender-app . That stuff still expects old school transactions. Also the error that it is throwing is I am pretty sure a misnomer. I am fairly certain the Celo-Ledger-Spender-App is jsut throwing this error: And then Ledger/hw-app-eth helpfully relabels that error to something that is completely incorrect: And that is how you get "EthAppPleaseEnableContractData" errors. Even though I am pretty sure errors are way more fundamental, because celo-ledger-spender-app straight up can't decode new "gas price" type of transactions. |
Hey @zviadm thanks for the report and sorry we didnt respond earlier. Its true we started defaulting to maxFeePerGas rather than gasPrice, however we quickly added a fix where it defaults back to gasPrice for all transactions signed by ledger. I suggest trying @celo/[email protected] @nicolasbrugneaux has spent the last few months updating the software that connects ledger to contractkit. And we hired a company (bloo) that has expertise in ledger apps to create an update to celo-ledger-spender. which will support eip1559 and cip64 transactions. It should be available on ledger live in dev mode within a week or two. We believe this new ledger app and the updates the the js packages will solve the remaining issues. |
Have you actually tested it out though? I don't think that change works anyways. While you do set the "gasPrice" and remove "maxGasFee" and "maxPriorityFeePerGas", I think transaction format is still different and it still fails on the Ledger. There is also the new "type" parameter that transactions have right? Maybe that is what is making it not backwards compatible still. EDIT: I tried to debug this further. I think the real issue is that the "feeCurrency" isn't set, so this still doesn't make the transaction a "celo-legacy" type. But this does work: This can be worked around in the usage of SDK i think by forcefully setting "gasCurrency" even when you want to use CELO. EDIT#2: Unfortunately I think feeCurrency can't be when you want to use CELO. it has to be
So you can use Ledger with other feeCurrencies, but i think without fixes somewhere in the SDK, it isn't possible to use it with CELO |
we have release new version of @celo/celocli https://github.com/celo-org/developer-tooling/releases/tag/%40celo%2Fcelocli%405.1.0 It is compatible with the existing celo-ledger-spender and the one that will be released next. a new version of the celo-ledger-spender is under review LedgerHQ/app-celo-spender#21 |
Package
@celo/celocli
Have you ensured that all of these are up to date?
What version of the package are you on?
What command or function is the bug in?
celocli releasecelo:locked-gold
Operating System
macOS (Apple Silicon)
Describe the bug
When unlocking funds, the OS on ledger seems to crash and restarts. celocli also crashes. See below:
The text was updated successfully, but these errors were encountered: