You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current (and previous) versions of the charon definition (<=v1.4) calculates the incorrect SSZ hash for empty Bytes20 (eth addresses) and Bytes65 (k1 signatures).
BytesN type fields should ALWAYS be of length N. So an empty address should be 20 bytes of just 0s, similarly an empty signature should be 56 bytes of just 0s. Charon uses empty arrays instead which is incorrect.
This is causing an incompatibility with the launchpad, specifically the solo slow that includes empty operator addresses. The JS implementation is doing it correctly. That means the launchpad generated solo flow definitions are not compatible with charon v1.4.
We cannot however fix this in charon v1.4, since it would break any lock files out there with empty addresses or signatures, specifically lock files created by the create cluster cli.
The proper solution is to fix this in charon, so as part of the upcoming v1.5 that will be released as part of charon v0.14.
Proposed solution
If the launchpad needs to support solo flow with charon v0.13 (so cluster definition v1.4), then we either need to:
fix this in charon now v1.4, thereby throwing v1.4 create cluster users under the bus (requiring them to use --no-verify).
or better, the launchpad can implement a workaround to achieve the same "buggy" behavior for the solo flow (and fix it in their v1.5 later).
Charon v1.5 should however include the fix. Charon v1.3 must still be compatible with buggy logic.
The text was updated successfully, but these errors were encountered:
Fixes the SSZ issue that didn't ensure `BytesN` are always of length N. This is only included in v1.5 onwards.
Also removes the lock.DistributedValidator.FeeRecipient field completely, also for previous versions as this isn't used at all and we do not need to support it for older versions.
category: bug
ticket: #1689
Problem to be solved
The current (and previous) versions of the charon definition (<=v1.4) calculates the incorrect SSZ hash for empty Bytes20 (eth addresses) and Bytes65 (k1 signatures).
This is causing an incompatibility with the launchpad, specifically the solo slow that includes empty operator addresses. The JS implementation is doing it correctly. That means the launchpad generated solo flow definitions are not compatible with charon v1.4.
We cannot however fix this in charon v1.4, since it would break any lock files out there with empty addresses or signatures, specifically lock files created by the
create cluster
cli.The proper solution is to fix this in charon, so as part of the upcoming v1.5 that will be released as part of charon v0.14.
Proposed solution
If the launchpad needs to support solo flow with charon v0.13 (so cluster definition v1.4), then we either need to:
create cluster
users under the bus (requiring them to use--no-verify
).Charon v1.5 should however include the fix. Charon v1.3 must still be compatible with buggy logic.
The text was updated successfully, but these errors were encountered: