Skip to content

Commit

Permalink
Use payload clients in preprod tests (#1232)
Browse files Browse the repository at this point in the history
Signed-off-by: litt3 <[email protected]>
  • Loading branch information
litt3 authored Feb 6, 2025
1 parent a2a62f9 commit 7764539
Show file tree
Hide file tree
Showing 8 changed files with 296 additions and 246 deletions.
24 changes: 8 additions & 16 deletions api/clients/v2/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ type PayloadClientConfig struct {
// The blob encoding version to use when writing and reading blobs
BlobEncodingVersion codecs.BlobEncodingVersion

// The Ethereum RPC URL to use for querying an Ethereum network
EthRpcUrl string

// The address of the EigenDACertVerifier contract
EigenDACertVerifierAddr string

Expand Down Expand Up @@ -112,8 +109,8 @@ type PayloadDisperserConfig struct {

// GetDefaultPayloadClientConfig creates a PayloadClientConfig with default values
//
// NOTE: EthRpcUrl and EigenDACertVerifierAddr do not have defined defaults. These must always be specifically configured.
func getDefaultPayloadClientConfig() *PayloadClientConfig {
// NOTE: EigenDACertVerifierAddr does not have a defined default. It must always be specifically configured.
func GetDefaultPayloadClientConfig() *PayloadClientConfig {
return &PayloadClientConfig{
BlobEncodingVersion: codecs.DefaultBlobEncoding,
PayloadPolynomialForm: codecs.PolynomialFormEval,
Expand All @@ -131,17 +128,13 @@ func getDefaultPayloadClientConfig() *PayloadClientConfig {
func (cc *PayloadClientConfig) checkAndSetDefaults() error {
// BlobEncodingVersion may be 0, so don't do anything

if cc.EthRpcUrl == "" {
return errors.New("EthRpcUrl is required")
}

if cc.EigenDACertVerifierAddr == "" {
return errors.New("EigenDACertVerifierAddr is required")
}

// Nothing to do for PayloadPolynomialForm

defaultConfig := getDefaultPayloadClientConfig()
defaultConfig := GetDefaultPayloadClientConfig()

if cc.ContractCallTimeout == 0 {
cc.ContractCallTimeout = defaultConfig.ContractCallTimeout
Expand All @@ -156,10 +149,10 @@ func (cc *PayloadClientConfig) checkAndSetDefaults() error {

// GetDefaultRelayPayloadRetrieverConfig creates a RelayPayloadRetrieverConfig with default values
//
// NOTE: EthRpcUrl and EigenDACertVerifierAddr do not have defined defaults. These must always be specifically configured.
// NOTE: EigenDACertVerifierAddr does not have a defined default. It must always be specifically configured.
func GetDefaultRelayPayloadRetrieverConfig() *RelayPayloadRetrieverConfig {
return &RelayPayloadRetrieverConfig{
PayloadClientConfig: *getDefaultPayloadClientConfig(),
PayloadClientConfig: *GetDefaultPayloadClientConfig(),
RelayTimeout: 5 * time.Second,
}
}
Expand All @@ -186,13 +179,12 @@ func (rc *RelayPayloadRetrieverConfig) checkAndSetDefaults() error {
// GetDefaultValidatorPayloadRetrieverConfig creates a ValidatorPayloadRetrieverConfig with default values
//
// NOTE: The following fields do not have defined defaults and must always be specifically configured:
// - EthRpcUrl
// - EigenDACertVerifierAddr
// - BlsOperatorStateRetrieverAddr
// - EigenDAServiceManagerAddr
func GetDefaultValidatorPayloadRetrieverConfig() *ValidatorPayloadRetrieverConfig {
return &ValidatorPayloadRetrieverConfig{
PayloadClientConfig: *getDefaultPayloadClientConfig(),
PayloadClientConfig: *GetDefaultPayloadClientConfig(),
RetrievalTimeout: 30 * time.Second,
MaxConnectionCount: 100,
}
Expand Down Expand Up @@ -230,10 +222,10 @@ func (rc *ValidatorPayloadRetrieverConfig) checkAndSetDefaults() error {

// GetDefaultPayloadDisperserConfig creates a PayloadDisperserConfig with default values
//
// NOTE: EthRpcUrl and EigenDACertVerifierAddr do not have defined defaults. These must always be specifically configured.
// NOTE: EigenDACertVerifierAddr does not have a defined default. It must always be specifically configured.
func GetDefaultPayloadDisperserConfig() *PayloadDisperserConfig {
return &PayloadDisperserConfig{
PayloadClientConfig: *getDefaultPayloadClientConfig(),
PayloadClientConfig: *GetDefaultPayloadClientConfig(),
DisperseBlobTimeout: 5 * time.Second,
BlobCertifiedTimeout: 10 * time.Second,
BlobStatusPollInterval: 1 * time.Second,
Expand Down
10 changes: 5 additions & 5 deletions api/clients/v2/payload_disperser.go
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ func (pd *PayloadDisperser) pollBlobStatusUntilCertified(
case <-ctx.Done():
return nil, fmt.Errorf(
"timed out waiting for %v blob status, final status was %v: %w",
dispgrpc.BlobStatus_COMPLETE.Descriptor(),
previousStatus.Descriptor(),
dispgrpc.BlobStatus_COMPLETE.String(),
previousStatus.String(),
ctx.Err())
case <-ticker.C:
// This call to the disperser doesn't have a dedicated timeout configured.
Expand All @@ -240,8 +240,8 @@ func (pd *PayloadDisperser) pollBlobStatusUntilCertified(
pd.logger.Debug(
"Blob status changed",
"blob key", blobKey.Hex(),
"previous status", previousStatus.Descriptor(),
"new status", newStatus.Descriptor())
"previous status", previousStatus.String(),
"new status", newStatus.String())
previousStatus = newStatus
}

Expand All @@ -255,7 +255,7 @@ func (pd *PayloadDisperser) pollBlobStatusUntilCertified(
return nil, fmt.Errorf(
"terminal dispersal failure for blobKey %v. blob status: %v",
blobKey.Hex(),
newStatus.Descriptor())
newStatus.String())
}
}
}
Expand Down
5 changes: 2 additions & 3 deletions api/clients/v2/test/relay_payload_retriever_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,12 @@ func buildRelayPayloadRetrieverTester(t *testing.T) RelayPayloadRetrieverTester

// the constructor checks that these values aren't empty. we don't need them, though, since we're using mocks
payloadClientConfig := clients.PayloadClientConfig{
EthRpcUrl: "x",
EigenDACertVerifierAddr: "y",
EigenDACertVerifierAddr: "x",
}

clientConfig := clients.RelayPayloadRetrieverConfig{
PayloadClientConfig: payloadClientConfig,
RelayTimeout: 50 * time.Millisecond,
RelayTimeout: 50 * time.Millisecond,
}

mockRelayClient := clientsmock.MockRelayClient{}
Expand Down
Loading

0 comments on commit 7764539

Please sign in to comment.