Skip to content

docs(deposits): document deposit data and group the deposit rules - #489

Open
samlaf wants to merge 1 commit into
mainfrom
sl/docs-deposit-data-format
Open

samlaf wants to merge 1 commit into
mainfrom
sl/docs-deposit-data-format

Conversation

@samlaf

@samlaf samlaf commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Refs https://linear.app/seismic-systems/issue/SEI-1056/featattestation-7879-serves-deposit-data-for-the-bound-withdrawal

Was just trying to add the deposit paths in TEE world, and found the docs a bit hard to read. So just grouping the bullet lists into categories and adding a picture of all the data included in the deposit_data_root.

LLM Summary

Third-party deposit tooling, and the attestation service's deposit route, need to know what summit signs and what the deposit contract hashes. Neither was documented, and the bytes differ from Ethereum's.

  • Add a Deposit data subsection with an SVG diagram (docs/diagrams/deposit-data.svg). It shows the message both keys sign, deposit_data_root, and how the signatures link the two.
  • Note what is easy to get wrong when signing outside summit:
    • each key signs 0x00 ‖ message (commonware's namespace prefix), and BLS uses the given DST;
    • the message is not SSZ, while deposit_data_root is;
    • the amount is in gwei, as a little-endian u64.
  • State in the Deposits rules what deposit() takes and that the contract does not check signatures; Summit does.
  • Group the bullets in Deposits, Withdrawals, Validator Count Limits and Validator Balance under bold topic headings. Bullet text is unchanged apart from dropping an orphaned "Exception:" lead-in.
  • staking-and-participating.md: stop calling the deposit flow exactly Ethereum's, and link to the new subsection.

@linear-code

linear-code Bot commented Nov 5, 2026

Copy link
Copy Markdown

SEI-1056

Refs https://linear.app/seismic-systems/issue/SEI-1056/featattestation-7879-serves-deposit-data-for-the-bound-withdrawal

Third-party deposit tooling, and the attestation service's deposit
route, need to know what summit signs and what the deposit contract
hashes. Neither was documented, and the bytes differ from Ethereum's.

- Add a Deposit data subsection with an SVG diagram
  (docs/diagrams/deposit-data.svg). It shows the message both keys
  sign, deposit_data_root, and how the signatures link the two.
- Note what is easy to get wrong when signing outside summit:
  - each key signs 0x00 ‖ message (commonware's namespace prefix),
    and BLS uses the given DST;
  - the message is not SSZ, while deposit_data_root is;
  - the amount is in gwei, as a little-endian u64.
- State in the Deposits rules what deposit() takes and that the
  contract does not check signatures; Summit does.
- Group the bullets in Deposits, Withdrawals, Validator Count Limits
  and Validator Balance under bold topic headings. Bullet text is
  unchanged apart from dropping an orphaned "Exception:" lead-in.
- staking-and-participating.md: stop calling the deposit flow exactly
  Ethereum's, and link to the new subsection.
@samlaf
samlaf force-pushed the sl/docs-deposit-data-format branch from 58b25b3 to 57b5d1b Compare November 5, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant