@@ -30,9 +30,9 @@ service Disperser {
30
30
// As reservation moves to be quorum specific and served by permissionless dispersers, GetPaymentState will soon be deprecated
31
31
// in replacement of GetPaymentStateForAllQuorums to include more specifications. During the endpoint migration time, the response
32
32
// uses quorum 0 for the global parameters, and the most retrictive reservation parameters of a user across quorums. For
33
- // OnDemand, EigenDA disperser is the only allowed disperser, so it will provide real values for off-chain payments .
34
- // For other dispersers, they will provide 0 for offchain payments. A client using non-EigenDA dispersers should not worry about
35
- // the zero values for onDemand records .
33
+ // OnDemand, EigenDA disperser is the only allowed disperser, so it will provide real values tracked for on-demand offchain payment records .
34
+ // For other dispersers, they will refuse to serve ondemand requests and serve 0 as the on-demand offchain records. A client using
35
+ // non-EigenDA dispersers should only request with reserved usages .
36
36
//
37
37
// A client wanting to disperse a blob would thus need to synchronize its local accounting state with that of the disperser.
38
38
// That typically only needs to be done once, and the state can be updated locally as the client disperses blobs.
@@ -44,7 +44,7 @@ service Disperser {
44
44
45
45
// GetPaymentStateForAllQuorums is a utility method to get the payment state of a given account, at a given disperser.
46
46
// EigenDA's dispersers and validators each does its own accounting for reservation usages, indexed by the account and quorum id.
47
- // A client wanting to disperse a blob would thus need to synchronize its local accounting state with the disperser it dispersed from .
47
+ // A client wanting to disperse a blob would thus need to synchronize its local accounting state with the disperser it plans to disperse to .
48
48
// That typically only needs to be done once, and the state can be updated locally as the client disperses blobs.
49
49
// The accounting rules are simple and can be updated locally, but periodic checks with the disperser can't hurt.
50
50
//
@@ -137,7 +137,7 @@ message BlobCommitmentReply {
137
137
message GetPaymentStateRequest {
138
138
// The ID of the account being queried. This account ID is an eth wallet address of the user.
139
139
string account_id = 1 ;
140
- // Signature over the account ID
140
+ // Signature over the account ID and timestamp.
141
141
bytes signature = 2 ;
142
142
// Timestamp of the request in nanoseconds since the Unix epoch. If too far out of sync with the server's clock,
143
143
// request may be rejected.
@@ -169,7 +169,10 @@ message GetPaymentStateReply {
169
169
bytes onchain_cumulative_payment = 5 ;
170
170
}
171
171
172
- // GetPaymentStateForAllQuorumsReply contains the payment state of an account.
172
+ // GetPaymentStateForAllQuorumsReply contains the payment state of an account. EigenLabs disperser is the only disperser that allows
173
+ // for ondemand usages, and it will provide the latest on-demand offchain payment records for the request account.
174
+ // Other dispersers will refuse to serve ondemand requests and serve 0 for off-chain on-demand payment usage (`cumulative_payment`). A client using
175
+ // non-EigenDA dispersers should only request with reserved usages and disregard the cumulative_payment shared by the non EigenLabs dispersers.
173
176
message GetPaymentStateForAllQuorumsReply {
174
177
// payment vault parameters with per-quorum configurations
175
178
PaymentVaultParams payment_vault_params = 1 ;
0 commit comments