--print-calldata
for later proof submission
#125
Merged
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.
Summary
--print-calldata
is specified during thecredentials
orcheckpoint
command, we will prepare the transaction(s) without sending, and print the calldata as structured JSON.--batchSize
.The proofs will be printed with (TO) and (CALLDATA) fields, all hex encoded. Credential proofs include
validator_indices
, which is an array of validator indices to be attested in that proof. You should submit the sequentially to network, taking care of your nonces as needed. They may be submitted by either the Eigenpod's owner, or an approved proof submitter (seeassign-submitter
command).Approach
We use the
NoSend
option in abigen, and combine it with a burner ETH wallet. I've hardcoded the PK of an eth wallet into the script -- the signed data is never used anyways.Data Format
You should expect either an array of Transaction, or an array of CredentialProofTransaction
Example Command
./cli checkpoint --podAddress $EIGENPOD_ADDRESS --beaconNode $NODE_BEACON --execNode $NODE_ETH --print-calldata
Submitting to network
You can use the
cast
tool to submit these proofs to network.cast send $TO $CALLDATA --rpc-url $NODE_ETH --private-key $EIGENPOD_PK
Testing
checkpoint
Test transactions