1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-12 17:48:09 +00:00
trezor-firmware/docs/common/communication/ethereum-definitions-binary-format.md
2022-12-02 15:00:43 +01:00

776 B

Ethereum definition binary format

Definitions are binary encoded and have a special format:

  1. prefix:
    1. format version of the definition (ASCII string trzdX, where X is version number, 5 bytes)
    2. type of data (unsigned integer, 1 byte)
    3. data version of the definition (unsigned integer, 4 bytes)
    4. length of the encoded protobuf message - payload length in bytes (unsigned integer, 2 bytes)
  2. payload: serialized form of protobuf message EthereumNetworkInfo or EthereumTokenInfo (N bytes)
  3. suffix:
    1. length of the Merkle tree proof - number of hashes in the proof (unsigned integer, 1 byte)
    2. proof - individual hashes used to compute Merkle tree root hash (plain bits, N*32 bytes)
    3. signed Merkle tree root hash (plain bits, 64 bytes)