-
-
Notifications
You must be signed in to change notification settings - Fork 300
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
Keymanager API bugs in validator client #7213
Comments
Thanks for reporting!
I agree, we should throw a 404 here instead.
that's incorrect, we should also return 404 in that case, good catch
From a spec perspective I would definitely agree, I wonder if people actually rely on this faulty behavior since it works like this for ~3 years. Although it's a pretty rare that people have local + remote keys on the same validator client. Did you check how other clients handle this? |
Regarding this, why would you only be able to do that for local pubkeys? The validator client is the one that has to pass the graffiti to the beacon node, the web3signer can't configure it since it only signs over the data that the VC provides it. Same for fee recipient and gas limit |
You guys are welcome 🙂 .
I think you misunderstood me. I just tested the behavior for keys which either are managed locally or managed by the remote signer. I did not test how it works if you have keys managed locally and other keys managed by the remote signer. I also think that this is such a small niche that it does not matter. Just from a pure logical standpoint, as the names suggest, the
My fault. I think I may have phrased that poorly. |
Describe the bug
There are several bugs in the keymanager api endpoints. To be more precise:
feerecipient, gas_limt, graffiti
The endpoints:
/eth/v1/validator/<pubkey>/feerecipient
/eth/v1/validator/<pubkey>/gas_limit
return a
500
if the pubkey is not managed by lodestar. This is the response:The endpoint:
/eth/v1/validator/<pubkey>/graffiti
returns
200
and a correct response even if the pubkey is NOT managed by lodestar. I'm not sure if this is intended behavior as the graffiti is obviously no secret. However, since there are alsoDELETE
andPOST
methods available, which obviously will only work for locally managed validators, I would assume that alsoGET
only returns a 200 if the pubkey is managed by lodestar. I know that the keymanager api spec does not have a clear definition with regards to that topic but as mentioned I would assume that it only returns the locally managed validator graffitis (as other clients do).keystores
The endpoint:
/eth/v1/keystores
returns the managed keystores even if these are actually managed by a remote signer. So I will receive the same data on
/eth/v1/keystores
and/eth/v1/remotekeys
when validators are managed by a connected remote signer.Expected behavior
/eth/v1/validator/<pubkey>/feerecipient
{"message": "Could not find validator"}
/eth/v1/validator/<pubkey>/gas_limit
{"message": "Could not find validator"}
/eth/v1/validator/<pubkey>/graffiti
{"message": "Could not find validator"}
/eth/v1/keystores
{"data": []}
Steps to reproduce
Kurtosis devnet definition to reproduce:
Start devnet:
kurtosis run --image-download always --enclave lodestar-bug-devnet github.com/ethpandaops/ethereum-package --args-file <path-to-above-yaml>
Execute above mentioned rest calls (see bug description).
Additional context
No response
Operating system
Linux
Lodestar version or commit hash
v1.22.0
The text was updated successfully, but these errors were encountered: