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 problem with the first attempt was that the lock file creator.config_signature must remain valid.
The current Go logic uses N empty operator addresses to calculate the config hash (since the there are N operator structs containing only enr fields).
But the partial cluster definition require empty operator array, which isn't the case after the enrs have been added.
We do not want to add switching logic to detect some "special" case where it will use an empty operator slice when calculating the config hash (like was originally suggested).
Proposed solution
So the suggestion is to scrap the concept of a "partial definition" and instead:
The launchpad create a normal solo flow cluster definition.
The requirement is that all operator fields are empty strings, so N operators with empty string address, enr, config_signature, and enr_signature fields (note not an empty operator array, but empty operator json objects, [{},{},{}] vs [].
The resulting config_hash should therefore use N empty string operator addresses.
The definition_hash can also be populated as normal, it will be overwritten by the create cluster command.
The charon create cluster will then do the following:
download the --definition-file from the url.
verify the hash and signatures it like any normal definition file.
adhoc verify that operators are empty structs.
Populate the operator enrs
Recalculate the definition_hash
Use that definition as is when creating the lock file.
The config_hash and operator config_signature therefore remains valid.
Out of Scope
If there is anything to highlight as out of scope for this issue, please outline it here.
The text was updated successfully, but these errors were encountered:
Problem to be solved
We introduced the concept of "partial cluster definition", as part of #1490 and #1520. This was however incorrect.
The solo flow usecase is as follows:
creator
field, bothaddress
andconfig_signature
operator
fields, noaddresses
orconfig_signatures
norenrs
orenr_signatures
.charon create cluster
command to create a p2p keys and validator key shares and the lock file. See cmd: add--definition-file
flag to create cluster command #1558 for the first attempt.The problem with the first attempt was that the lock file
creator.config_signature
must remain valid.N
empty operator addresses to calculate the config hash (since the there are N operator structs containing onlyenr
fields).Proposed solution
So the suggestion is to scrap the concept of a "partial definition" and instead:
[{},{},{}] vs []
.The
charon create cluster
will then do the following:--definition-file
from the url.Out of Scope
If there is anything to highlight as out of scope for this issue, please outline it here.
The text was updated successfully, but these errors were encountered: