Add ability to generate signed exit messages with mnemonic or validator key #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Port from ethereum#355
Adds two commands:
exit-transaction-keystore and exit-transaction-mnemonic
exit-transaction-keystore
Allows the user to specify a single keystore file to generate an exit message if the provided password is correct.
The success of this command will result in a single
signed_exit_transaction-***.json
file inexit_transactions
exit-transaction-mnemonic
Allows the user to specify a mnemonic to generate 1-n exit messages depending on how many validator indices are provided. The success of this command will result in n
signed_exit_transaction-***.json
files inexit_transactions
for each validator index provided.Testing
Build as instructed
Create a new mnemonic and keystore(s) on mainnet with
./deposit.sh new-mnemonic
For each keystore, create an entry in this base
offline-preparation.json
file:With the saved
offline-preparation.json
above in the same location as ethdo, create an exit message with ethdo using the following command:./ethdo validator exit --offline --mnemonic="<GENERATED_MNEMONIC>" --validator=<VALIDATOR_INDEX_IN_PREF_FILE>
Create an exit message with the CLI using both
./deposit.sh exit-transaction-mnemonic --epoch=274294
for each keystore
./deposit.sh exit-transaction-keystore --epoch=274294
All outputs should match