Layr-Labs / eigenda

Secure, high-throughput, and decentralized Data Availability
https://www.eigenlayer.xyz/
Other
220 stars 168 forks source link

Keep encoded blob result until blob reaches terminal state #750

Open ian-shim opened 1 month ago

ian-shim commented 1 month ago

Why are these changes needed?

Currently, the encoded blob result is removed once blob state transitions from PROCESSING to DISPERSING. However, a blob can be fetched for encoding and then be transitioned to DISPERSING state before the encoding request is complete because the mutex is released and allows the blob to be returned as part of a batch. This can cause an issue where the blob is successfully confirmed, but the remaining encoding result causes the blob to be dispersed again. The encoded blob state management needs to be enforced more tightly. This PR does not remove the encoded result when it's returned as part of the batch. Instead, it keeps it until the blob reaches a terminal state so that it can be properly dedup'd from the concurrent encoding requests.

Checks