Skip to content

Commit

Permalink
Merge branch 'develop' into CCIP-4165-e-2-e-tests-implement-pricing-f…
Browse files Browse the repository at this point in the history
…or-tokens-transfers-tests
  • Loading branch information
jhweintraub committed Nov 26, 2024
2 parents 2cd35a7 + a677d28 commit 2492e41
Show file tree
Hide file tree
Showing 259 changed files with 8,088 additions and 4,482 deletions.
5 changes: 5 additions & 0 deletions .changeset/bright-keys-whisper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

allow different decimals on different chains for token pools
11 changes: 11 additions & 0 deletions .changeset/kind-parents-jump.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"chainlink": patch
---

Add two new metrics for monitoring LLO transmitter health #added

`llo_mercurytransmitter_concurrent_transmit_gauge`
Gauge that measures the number of transmit threads currently waiting on a remote transmit call. You may wish to alert if this exceeds some number for a given period of time, or if it ever reaches its max.

`llo_mercurytransmitter_concurrent_delete_gauge`
Gauge that measures the number of delete threads currently waiting on a delete call to the DB. You may wish to alert if this exceeds some number for a given period of time, or if it ever reaches its max.
5 changes: 5 additions & 0 deletions .changeset/late-seals-battle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

Update deployment address book to support non-evm chains
37 changes: 12 additions & 25 deletions .github/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1012,8 +1012,8 @@ runner-test-matrix:
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
E2E_JD_VERSION: 0.6.0
E2E_RMN_RAGEPROXY_VERSION: master-5208d09
E2E_RMN_AFN2PROXY_VERSION: master-5208d09
E2E_RMN_RAGEPROXY_VERSION: master-f461a9e
E2E_RMN_AFN2PROXY_VERSION: master-f461a9e

- id: smoke/ccip/ccip_rmn_test.go:^TestRMN_MultipleMessagesOnOneLaneNoWaitForExec$
path: integration-tests/smoke/ccip/ccip_rmn_test.go
Expand All @@ -1027,8 +1027,8 @@ runner-test-matrix:
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
E2E_JD_VERSION: 0.6.0
E2E_RMN_RAGEPROXY_VERSION: master-5208d09
E2E_RMN_AFN2PROXY_VERSION: master-5208d09
E2E_RMN_RAGEPROXY_VERSION: master-f461a9e
E2E_RMN_AFN2PROXY_VERSION: master-f461a9e

# Enable after flaking issue is resolved
# - id: smoke/ccip/ccip_rmn_test.go:^TestRMN_NotEnoughObservers$
Expand All @@ -1043,8 +1043,8 @@ runner-test-matrix:
# test_env_vars:
# E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
# E2E_JD_VERSION: 0.6.0
# E2E_RMN_RAGEPROXY_VERSION: master-5208d09
# E2E_RMN_AFN2PROXY_VERSION: master-5208d09
# E2E_RMN_RAGEPROXY_VERSION: master-f461a9e
# E2E_RMN_AFN2PROXY_VERSION: master-f461a9e

- id: smoke/ccip/ccip_rmn_test.go:^TestRMN_DifferentSigners$
path: integration-tests/smoke/ccip/ccip_rmn_test.go
Expand All @@ -1058,8 +1058,8 @@ runner-test-matrix:
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
E2E_JD_VERSION: 0.6.0
E2E_RMN_RAGEPROXY_VERSION: master-5208d09
E2E_RMN_AFN2PROXY_VERSION: master-5208d09
E2E_RMN_RAGEPROXY_VERSION: master-f461a9e
E2E_RMN_AFN2PROXY_VERSION: master-f461a9e

# Enable after flaking issue is resolved
# - id: smoke/ccip/ccip_rmn_test.go:^TestRMN_NotEnoughSigners$
Expand All @@ -1074,8 +1074,8 @@ runner-test-matrix:
# test_env_vars:
# E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
# E2E_JD_VERSION: 0.6.0
# E2E_RMN_RAGEPROXY_VERSION: master-5208d09
# E2E_RMN_AFN2PROXY_VERSION: master-5208d09
# E2E_RMN_RAGEPROXY_VERSION: master-f461a9e
# E2E_RMN_AFN2PROXY_VERSION: master-f461a9e


- id: smoke/ccip/ccip_rmn_test.go:^TestRMN_DifferentRmnNodesForDifferentChains$
Expand All @@ -1090,8 +1090,8 @@ runner-test-matrix:
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
E2E_JD_VERSION: 0.6.0
E2E_RMN_RAGEPROXY_VERSION: master-5208d09
E2E_RMN_AFN2PROXY_VERSION: master-5208d09
E2E_RMN_RAGEPROXY_VERSION: master-f461a9e
E2E_RMN_AFN2PROXY_VERSION: master-f461a9e


# END: CCIPv1.6 tests
Expand All @@ -1109,19 +1109,6 @@ runner-test-matrix:
test_cmd: cd integration-tests/ccip-tests/smoke && go test ccip_test.go -test.run ^TestSmokeCCIPForBidirectionalLane$ -timeout 30m -count=1 -test.parallel=1 -json
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2

- id: ccip-smoke-1.4-pools
path: integration-tests/ccip-tests/smoke/ccip_test.go
test_env_type: docker
runs_on: ubuntu-latest
triggers:
- PR E2E CCIP Tests
- Merge Queue E2E CCIP Tests
- Nightly E2E Tests
test_cmd: cd integration-tests/ccip-tests/smoke && go test ccip_test.go -test.run ^TestSmokeCCIPForBidirectionalLane$ -timeout 30m -count=1 -test.parallel=1 -json
test_env_vars:
E2E_TEST_SELECTED_NETWORK: SIMULATED_1,SIMULATED_2
test_config_override_path: integration-tests/ccip-tests/testconfig/tomls/contract-version1.4.toml

- id: ccip-smoke-usdc
path: integration-tests/ccip-tests/smoke/ccip_test.go
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ccip-chaos-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
run-e2e-tests-workflow:
name: Run E2E Tests
uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@5412507526722a7b1c5d719fa686eed5a1bc4035 # [email protected]
with:
test_path: .github/e2e-tests.yml
chainlink_version: ${{ github.sha }}
require_chainlink_image_versions_in_qa_ecr: ${{ github.sha }}
Expand Down
24 changes: 6 additions & 18 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -231,26 +231,14 @@ jobs:
echo "COUNT=50" >> $GITHUB_ENV
echo "FUZZ_TIMEOUT_MINUTES=10">> $GITHUB_ENV
- name: Install gotestloghelper
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/[email protected]

- name: Run tests
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
id: run-tests
env:
OUTPUT_FILE: ./output.txt
USE_TEE: false
CL_DATABASE_URL: ${{ env.DB_URL }}
run: ./tools/bin/${{ matrix.type.cmd }} ./...

- name: Print Filtered Test Results
if: ${{ failure() && needs.filter.outputs.should-run-ci-core == 'true' && steps.run-tests.conclusion == 'failure' }}
run: |
if [[ "${{ matrix.type.printResults }}" == "true" ]]; then
cat output.txt | gotestloghelper -ci
fi
- name: Print Races
id: print-races
if: ${{ failure() && matrix.type.cmd == 'go_core_race_tests' && needs.filter.outputs.should-run-ci-core == 'true' }}
Expand Down Expand Up @@ -463,15 +451,15 @@ jobs:
SONAR_SCANNER_OPTS: "-Xms6g -Xmx8g"

trigger-flaky-test-detection-for-root-project:
name: Find New Flaky Tests In Chainlink Project
uses: ./.github/workflows/find-new-flaky-tests.yml
name: Flakeguard Root Project
uses: ./.github/workflows/flakeguard.yml
if: ${{ github.event_name == 'pull_request' }}
with:
repoUrl: 'https://github.com/smartcontractkit/chainlink'
projectPath: '.'
baseRef: ${{ github.base_ref }}
headRef: ${{ github.head_ref }}
runThreshold: '0.99'
maxPassRatio: '1.0'
findByTestFilesDiff: true
findByAffectedPackages: false
slackNotificationAfterTestsChannelId: 'C07TRF65CNS' #flaky-test-detector-notifications
Expand All @@ -480,16 +468,16 @@ jobs:
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}

trigger-flaky-test-detection-for-deployment-project:
name: Find New Flaky Tests In Deployment Project
uses: ./.github/workflows/find-new-flaky-tests.yml
name: Flakeguard Deployment Project
uses: ./.github/workflows/flakeguard.yml
needs: [filter]
if: ${{ github.event_name == 'pull_request' && needs.filter.outputs.deployment-changes == 'true'}}
with:
repoUrl: 'https://github.com/smartcontractkit/chainlink'
projectPath: 'deployment'
baseRef: ${{ github.base_ref }}
headRef: ${{ github.head_ref }}
runThreshold: '0.99'
maxPassRatio: '1.0'
findByTestFilesDiff: true
findByAffectedPackages: false
slackNotificationAfterTestsChannelId: 'C07TRF65CNS' #flaky-test-detector-notifications
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: Find Flaky Tests
name: Flakeguard On Demand

on:
schedule:
# Run every night at 3:00 AM UTC
- cron: '0 3 * * *'
workflow_dispatch:
inputs:
repoUrl:
Expand All @@ -26,12 +29,12 @@ on:
required: false
type: boolean
description: 'Run all tests in the project.'
default: false
runThreshold:
default: true
maxPassRatio:
required: false
type: string
description: 'The threshold for the number of times a test can fail before being considered flaky.'
default: '0.8'
description: 'The maximum (non-inclusive) pass ratio threshold for a test to be considered a failure. Any tests below this pass rate will be considered flaky.'
default: '1.0'
findByTestFilesDiff:
required: false
type: boolean
Expand All @@ -41,31 +44,32 @@ on:
required: false
type: boolean
description: 'Find new or updated test packages by comparing affected packages.'
default: true
default: false
slack_notification_after_tests_channel_id:
description: "Slack channel ID to send the notification to for failed tests."
required: false
type: string
extraArgs:
required: false
type: string
default: '{}'
description: 'JSON of extra arguments for the workflow.'
default: '{ "skipped_tests": "TestChainComponents", "test_repeat_count": "5", "all_tests_runner": "ubuntu22.04-32cores-128GB", "all_tests_runner_count": "3", "min_pass_ratio": "0", "run_with_race": "false" }'
description: 'JSON of extra arguments for the workflow.'

jobs:
trigger-flaky-test-detection:
name: Find Flaky Tests
uses: ./.github/workflows/find-new-flaky-tests.yml
uses: ./.github/workflows/flakeguard.yml
with:
repoUrl: ${{ inputs.repoUrl }}
baseRef: ${{ inputs.baseRef }}
projectPath: ${{ inputs.projectPath }}
headRef: ${{ inputs.headRef }}
runThreshold: ${{ inputs.runThreshold }}
maxPassRatio: ${{ inputs.maxPassRatio }}
runAllTests: ${{ inputs.runAllTests }}
findByTestFilesDiff: ${{ inputs.findByTestFilesDiff }}
findByAffectedPackages: ${{ inputs.findByAffectedPackages }}
slackNotificationAfterTestsChannelId: ${{ inputs.slack_notification_after_tests_channel_id }}
extraArgs: ${{ inputs.extraArgs }}
secrets:
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}
SLACK_BOT_TOKEN: ${{ secrets.QA_SLACK_API_KEY }}

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Find Flaky Tests
name: Flakeguard

on:
workflow_call:
Expand All @@ -25,11 +25,11 @@ on:
type: boolean
description: 'Run all tests in the project.'
default: false
runThreshold:
maxPassRatio:
required: false
type: string
description: 'The threshold for the number of times a test can fail before being considered flaky.'
default: '0.9'
description: 'The maximum (non-inclusive) pass ratio threshold for a test to be considered a failure. Any tests below this pass rate will be considered flaky.'
default: '1.0'
findByTestFilesDiff:
required: false
type: boolean
Expand Down Expand Up @@ -64,7 +64,6 @@ env:
DEFAULT_RUNNER: 'ubuntu-latest' # The default runner to use for running tests.
UPLOAD_ALL_TEST_RESULTS: ${{ fromJson(inputs.extraArgs)['upload_all_test_results'] || 'false' }} # Whether to upload all test results as artifacts.
PRINT_FAILED_TESTS: ${{ fromJson(inputs.extraArgs)['print_failed_tests'] || 'false' }} # Whether to print failed tests in the GitHub console.
MIN_PASS_RATIO: ${{ fromJson(inputs.extraArgs)['min_pass_ratio'] || '0.001' }} # The minimum pass ratio for a test to be considered as flaky. Used to distinguish between tests that are truly flaky (with inconsistent results) and those that are consistently failing. Set to 0 if you want to consider all failed tests as flaky.

jobs:
get-tests:
Expand Down Expand Up @@ -99,7 +98,7 @@ jobs:

- name: Install flakeguard
shell: bash
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@8b02ed1703ef40755a4c46ff454cf4ff2e89275d
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@be06798af83ef6d9f7cf04e8b10a8484520c5061 # [email protected]

- name: Find new or updated test packages
if: ${{ inputs.runAllTests == false }}
Expand Down Expand Up @@ -258,11 +257,11 @@ jobs:

- name: Install flakeguard
shell: bash
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@8b02ed1703ef40755a4c46ff454cf4ff2e89275d
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@be06798af83ef6d9f7cf04e8b10a8484520c5061 # [email protected]

- name: Run tests with flakeguard
shell: bash
run: flakeguard run --project-path=${{ inputs.projectPath }} --test-packages=${{ matrix.testPackages }} --run-count=${{ env.TEST_REPEAT_COUNT }} --min-pass-ratio=${{ env.MIN_PASS_RATIO }} --threshold=${{ inputs.runThreshold }} --race=${{ env.RUN_WITH_RACE }} --skip-tests=${{ env.SKIPPED_TESTS }} --print-failed-tests=${{ env.PRINT_FAILED_TESTS }} --output-json=test-result.json
run: flakeguard run --project-path=${{ inputs.projectPath }} --test-packages=${{ matrix.testPackages }} --run-count=${{ env.TEST_REPEAT_COUNT }} --max-pass-ratio=${{ inputs.maxPassRatio }} --race=${{ env.RUN_WITH_RACE }} --skip-tests=${{ env.SKIPPED_TESTS }} --print-failed-tests=${{ env.PRINT_FAILED_TESTS }} --output-json=test-result.json
env:
CL_DATABASE_URL: ${{ env.DB_URL }}

Expand Down Expand Up @@ -300,7 +299,7 @@ jobs:

- name: Install flakeguard
shell: bash
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@8b02ed1703ef40755a4c46ff454cf4ff2e89275d
run: go install github.com/smartcontractkit/chainlink-testing-framework/tools/flakeguard@be06798af83ef6d9f7cf04e8b10a8484520c5061 # [email protected]

- name: Set combined test results
id: set_test_results
Expand Down
22 changes: 0 additions & 22 deletions .github/workflows/run-nightly-flaky-test-detector.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/solidity-foundry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ jobs:
{ "name": "functions", "setup": { "run-coverage": false, "min-coverage": 98.5, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "keystone", "setup": { "run-coverage": true, "min-coverage": 72.8, "run-gas-snapshot": false, "run-forge-fmt": false }},
{ "name": "l2ep", "setup": { "run-coverage": true, "min-coverage": 61.0, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "liquiditymanager", "setup": { "run-coverage": true, "min-coverage": 46.3, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "liquiditymanager", "setup": { "run-coverage": true, "min-coverage": 44, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "llo-feeds", "setup": { "run-coverage": true, "min-coverage": 49.3, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "operatorforwarder", "setup": { "run-coverage": true, "min-coverage": 55.7, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "shared", "setup": { "run-coverage": true, "extra-coverage-params": "--no-match-path='*CallWithExactGas*' --ir-minimum", "min-coverage": 32.6, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "transmission", "setup": { "run-coverage": true, "min-coverage": 61.5, "run-gas-snapshot": true, "run-forge-fmt": false }},
{ "name": "vrf", "setup": { "run-coverage": false, "min-coverage": 98.5, "run-gas-snapshot": false, "run-forge-fmt": false }},
{ "name": "workflow", "setup": { "run-coverage": true, "extra-coverage-params": "--ir-minimum", "min-coverage": 65.0, "run-gas-snapshot": false, "run-forge-fmt": true }}
{ "name": "workflow", "setup": { "run-coverage": true, "extra-coverage-params": "--ir-minimum", "min-coverage": 96.0, "run-gas-snapshot": true, "run-forge-fmt": true }}
]
EOF
Expand Down
10 changes: 10 additions & 0 deletions contracts/.changeset/modern-mayflies-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@chainlink/contracts': patch
---

allow multiple remote pools per chain selector


PR issue: CCIP-4269

Solidity Review issue: CCIP-3966
5 changes: 5 additions & 0 deletions contracts/.changeset/ninety-lions-complain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@chainlink/contracts': patch
---

Update token pool factory to support new token pool design with arbitrary decimals #bugfix
2 changes: 1 addition & 1 deletion contracts/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ mockery: $(mockery) ## Install mockery.

.PHONY: foundry
foundry: ## Install foundry.
foundryup --version nightly-3ff3d0562215bca620e07c5c4c154eec8da0f04b
foundryup --version nightly-fb5f0e1c4d9b9b0861be3e3bd07963524c5ac08e

.PHONY: foundry-refresh
foundry-refresh: foundry
Expand Down
Loading

0 comments on commit 2492e41

Please sign in to comment.