package common.v2

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Batch

common_v2.proto:73

Batch is a batch of blob certificates

Used in: validator.StoreChunksRequest

message BatchHeader

common_v2.proto:65

BatchHeader is the header of a batch of blobs

Used in: Batch, disperser.v2.SignedBatch

message BlobCertificate

common_v2.proto:50

BlobCertificate contains a full description of a blob and how it is dispersed. Part of the certificate is provided by the blob submitter (i.e. the blob header), and part is provided by the disperser (i.e. the relays). Validator nodes eventually sign the blob certificate once they are in custody of the required chunks (note that the signature is indirect; validators sign the hash of a Batch, which contains the blob certificate).

Used in: Batch, disperser.v2.BlobInclusionInfo

message BlobHeader

common_v2.proto:9

BlobHeader contains the information describing a blob and the way it is to be dispersed.

Used in: BlobCertificate, controller.AuthorizePaymentRequest, disperser.v2.DisperseBlobRequest, retriever.v2.BlobRequest

message PaymentHeader

common_v2.proto:110

PaymentHeader contains payment information for a blob. Reservation parameters and on-demand deposits are tracked on-chain in the PaymentVault contract: https://github.com/Layr-Labs/eigenda/blob/master/contracts/src/core/PaymentVault.sol Two payment methods are supported: 1. Reservation: - Users reserve bandwidth in advance for a specified time period. - Reservations are procured out-of-band, and are set in the PaymentVault by the EigenFoundation. 2. On-demand: - Users pay for each dispersal individually from funds deposited into the PaymentVault, by specifying a cumulative payment. - On-demand payments are limited to quorums 0 and 1. - On-demand payments can only be used when dispersing through the EigenDA disperser. Currently, the EigenDA disperser is the *only* disperser, but this restriction will remain in place even with decentralized dispersal. For payment calculations, dispersals have a minimum size of minNumSymbols, defined in the PaymentVault. Smaller blobs are billed as `minNumSymbols`. The cost of an on-demand dispersal is calculated by multiplying the number of blob symbols by the pricePerSymbol defined in the PaymentVault. Note: the quorum set being dispersed to has no impact on payment accounting with the current implementation. TODO(litt3): the current payment usage source-of-truth is the EigenDA disperser: reservation usage and latest cumulative payment is persistently stored there. Once decentralized dispersal has been implemented, the validator nodes will become the source-of-truth for reservation usage, but the EigenDA disperser will remain the source-of-truth for on-demand usage. TODO(litt3): once accounting logic has been properly abstracted, put a link here to provide specific documentation of how payments are processed.

Used in: BlobHeader