aligned_layer
aligned_layer copied to clipboard
Aligned is a verification layer for zero-knowledge proofs using EigenLayer. Our mission is to accelerate the adoption of zero-knowledge and validity proofs on Ethereum.
The aggregator has the following structures that are read and written concurrently: * `batchesIdxByIdentifierHash` * `batchCreatedBlockByIdx` * `batchesIdentifierHashByIdx` * `batchDataByIdentifierHash` * `nextBatchIndex` Access to them is being achieved with the...
To finish integrating retry logic into Aligned we need to add retry logic to the operator. The following functions should be retried: [GetNotRespondedTasksFrom](https://github.com/yetanotherco/aligned_layer/blob/staging/core/chainio/avs_reader.go#L79) [DisableVerifiers](https://github.com/yetanotherco/aligned_layer/blob/staging/core/chainio/avs_reader.go#L74) [SendTelemetryData](https://github.com/yetanotherco/aligned_layer/blob/staging/operator/pkg/operator.go#L643) [SendSignedTaskResponseToAggregator](https://github.com/yetanotherco/aligned_layer/blob/staging/operator/pkg/rpc_client.go#L39) [getBatchFromDataService](https://github.com/yetanotherco/aligned_layer/blob/staging/operator/pkg/s3.go#L14) Adding retryable logic...
These functions receive a lot of parameters and it is easy to get lost. I would refactor this to receive a struct instead with all the config. This will also...
Currently there are few caught Permanent errors in the retry logic. We should investigate and add more Permanent error cases.
Currently the unit tests for the aggregator retries only test the returned value and effects of all retries being provided. We want to also validate the intermediate states that can...
Currently the retry logic for the aggregator and operator does not have a randomization/jitter factor as a parameter but the [underlying library](https://github.com/cenkalti/backoff/blob/720b78985a65c0452fd37bb155c7cac4157a7c45/exponential.go#L80) we utilize has one set to 0.5 as...
Currently [retrieving a user's minimum fee](https://github.com/yetanotherco/aligned_layer/blob/staging/batcher/aligned-batcher/src/lib.rs#L732) within the batcher returns an `InvalidNonce` error which is incorrect. We should return a more descriptive error
```handle_batch_inclusion_data```should return an error if the ```verify_response``` functions fails
# ```handle_batch_inclusion_data```should return an error if the ```verify_response``` functions fails https://github.com/yetanotherco/aligned_layer/blob/042d8d8a9dfa736df2dd54436ab05e082f26c6d9/batcher/aligned-sdk/src/communication/batch.rs#L33-L38
Aggregator gas fee should be able to be bumped indefinitely Currenlty it cannot be bumped up to the limit the batcher is willing to pay. The contract should be changed...
In the aggregator, when sending the aggregated response, it might occur that the `gasPrice` increases and the `checkRespondToTaskFeeLimit` does not pass. We should store those tasks and send the response...