Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ccip-3463 multiclient in ccip tests #14581

Open
wants to merge 44 commits into
base: develop
Choose a base branch
from

Conversation

AnieeG
Copy link
Contributor

@AnieeG AnieeG commented Sep 27, 2024

  • Uses multiclient in smoke test

  • Updates to multiclient to have

    • acceptable (non-retryable) error
    • logger
    • multiclient's confirm method which returns receipt from any of the client that can successfully confirm.
  • KMSClient for setting deployer key

  • Adds CCIP config in chain state and view

@AnieeG AnieeG requested review from a team as code owners September 27, 2024 01:56
@AnieeG AnieeG marked this pull request as draft September 27, 2024 01:56
AnieeG and others added 16 commits September 27, 2024 12:11
* fix crib-integration-test workflow

* run on changes to workflow file
…re (#14530)

* set FinalityTagEnabled = true for testnets to match ccip config

* Same changes on mainnets

* Add changeset

* generate config docs

* Apply suggestions from code review

Thanks for suggestions, I'll accept and replicate

Co-authored-by: amit-momin <[email protected]>

---------

Co-authored-by: amit-momin <[email protected]>
…ness (#14592)

* Adding replay similar to other chain reader tests

* Adding replay similar to other chain reader tests
* fixed bug related to differences in cursor structure

* Update core/chains/evm/logpoller/parser.go

Co-authored-by: Jordan Krage <[email protected]>

* reference new func

---------

Co-authored-by: Jordan Krage <[email protected]>
* Update contract_reader.go and go.mod

- Add rmn_remote package to contract_reader.go
- Update chainlink-ccip version in go.mod

* changeset

* Use main branch commit

* introducing logs

* use most recent commit
* devsvcs-675: update debugging script to check max gas price

* update

* update
* Bump mcms, tools renamed to pkg

* Mod tidy
* solana: add compute unit limit functionality

* fix test: solana node CLI

* fix: e2e test artifact upload to container

* retry build with fresh commit

* changeset

* bump solana to merged commit
* CCIP 3388 - add commit store and RMN proxy state generation

* update ARM to RMN
* [CAPPL-60] Use new EncoderFactory interface in ocr3 capability

* Common bump

* Add RMNRemote in the chain reader definition (#14588)

* Update contract_reader.go and go.mod

- Add rmn_remote package to contract_reader.go
- Update chainlink-ccip version in go.mod

* changeset

* Use main branch commit

* introducing logs

* use most recent commit

* solana: add compute unit limit functionality (#14576)

* solana: add compute unit limit functionality

* fix test: solana node CLI

* fix: e2e test artifact upload to container

* retry build with fresh commit

* changeset

* bump solana to merged commit

* Common bump

* go.mod bump

---------

Co-authored-by: Cedric Cordenier <[email protected]>
Co-authored-by: nogo <[email protected]>
Co-authored-by: Aaron Lu <[email protected]>
Co-authored-by: Silas Lenihan <[email protected]>
silaslenihan and others added 4 commits September 30, 2024 14:45
* Advanced Querying for ChainReader

* Handle pointer type value comparator encoding

* Handle geth abi panic when encoding data word value comparators

* fix linting issues

* [Bot] Update changeset file with jira issues

* fix linting issues

* [Bot] Update changeset file with jira issues

* fix linting issues

* [Bot] Update changeset file with jira issues

* changed function name and added comments

---------

Co-authored-by: ilija <[email protected]>
Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
* pass the home chain selector

* Refactor contract reader configuration and add RMNHome contract support

* Update chainlink-ccip dependency version

* changeset

* new chainlink-ccip version

* bump chainlink-ccip

* bump to main branch commit

* using latest chainlink-ccip commit
…ion in rpc client (#14534)

* polling subscription to be registered

* adding changeset

* fix Subscribe new head

* add test

* update changeset

* fix lint

* fix deadlock and add unit test for http polling sub

* update changeset

* adding sub closed check and remove import

* add unit test coverage for http polling subscribeToHeads

* update test

* address comments part 1

* clean

* part 2

* fix lint

* fix lint
…14603)

* Providing evm specific implementation of tokenDataEncoder

* Providing evm specific implementation of tokenDataEncoder

* go mod tidy

* Post review fixes

* Bump

* Bump

* Bump
* env changes

* changes

* lint

* jd changes

* fix typo

---------

Co-authored-by: Connor Stein <[email protected]>

updates

change
@AnieeG AnieeG marked this pull request as ready for review September 30, 2024 23:22
@AnieeG AnieeG requested review from a team as code owners September 30, 2024 23:22
@AnieeG AnieeG requested review from jmank88 and removed request for a team September 30, 2024 23:22
var err error
receipt, err = client.TransactionReceipt(ctx, txHash)
return err
})
}, ethereum.NotFound)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@connorwstein wdyt of this? I faced this during waiting for a transaction to get confirmed. Before it's confirmed it returns not found and back up logic tries to change the client. That's why added this to acceptable error so that it does not attempt to change client or retry unnecessarily if this error is encountered

client, err := ethclient.Dial(rpc.WSURL)
if err != nil {
return nil, errors.Wrapf(err, "failed to dial %s", rpc.WSURL)
lggr.Warnf("failed to dial rpc %d ending in %s, moving to next one", i+1, rpc.WSURL[len(rpc.WSURL)-4:])
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rpc.WSURL[len(rpc.WSURL)-4:]) could be just /ws/ for a lot of them, but I guess that's better than having to count RPCs in the TOML or exposing more of the URL. Another option is to load in "name" from the TOML and use rpc.Name

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

Comment on lines 164 to 167
// If it is, log it and return nil
for _, acceptedError := range acceptedErrors {
if errors.Is(err, acceptedError) {
return err
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// If it is, log it and return nil did you mean to return nil here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the comment

@cl-sonarqube-production
Copy link

Quality Gate failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube

Catch issues before they fail your Quality Gate with our IDE extension SonarLint SonarLint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.