diff --git a/integration-tests/deployment/ccip/deploy_home_chain.go b/integration-tests/deployment/ccip/deploy_home_chain.go index 316f8604fd5..24c438c0510 100644 --- a/integration-tests/deployment/ccip/deploy_home_chain.go +++ b/integration-tests/deployment/ccip/deploy_home_chain.go @@ -570,7 +570,7 @@ func setupExecDON( execCandidateDigest, err := ccipHome.GetCandidateDigest(nil, donID, execConfig.PluginType) if err != nil { - return fmt.Errorf("get commit candidate digest: %w", err) + return fmt.Errorf("get exec candidate digest 1st time: %w", err) } if execCandidateDigest == [32]byte{} { @@ -605,11 +605,24 @@ func setupExecDON( if err != nil { return fmt.Errorf("update don w/ exec config: %w", err) } - - if _, err := deployment.ConfirmIfNoError(home, tx, err); err != nil { + bn, err := deployment.ConfirmIfNoError(home, tx, err) + if err != nil { return fmt.Errorf("confirm update don w/ exec config: %w", err) } - + if bn == 0 { + return fmt.Errorf("UpdateDON tx not confirmed") + } + // check if candidate digest is promoted + pEvent, err := ccipHome.FilterConfigPromoted(&bind.FilterOpts{ + Context: context.Background(), + Start: bn, + }, [][32]byte{execCandidateDigest}) + if err != nil { + return fmt.Errorf("filter exec config promoted: %w", err) + } + if !pEvent.Next() { + return fmt.Errorf("exec config not promoted") + } // check that candidate digest is empty. execCandidateDigest, err = ccipHome.GetCandidateDigest(nil, donID, execConfig.PluginType) if err != nil { diff --git a/integration-tests/deployment/devenv/chain.go b/integration-tests/deployment/devenv/chain.go index 10a888c1d0a..fb0503f5b64 100644 --- a/integration-tests/deployment/devenv/chain.go +++ b/integration-tests/deployment/devenv/chain.go @@ -71,6 +71,9 @@ func NewChains(logger logger.Logger, configs []ChainConfig) (map[uint64]deployme if err != nil { return retry.RetryableError(fmt.Errorf("failed to get receipt for chain %d: %w", chainId, err)) } + if receipt == nil { + return retry.RetryableError(fmt.Errorf("receipt was nil for tx %s", tx.Hash().Hex())) + } if receipt != nil { blockNumber = receipt.BlockNumber.Uint64() }