Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into llo_fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
samsondav committed Nov 12, 2024
2 parents 16a05ed + 8bcf868 commit cf8dc4e
Show file tree
Hide file tree
Showing 400 changed files with 11,716 additions and 9,004 deletions.
5 changes: 5 additions & 0 deletions .changeset/purple-shrimps-invent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Upgrade go-ethereum to v1.14.11 #internal
5 changes: 5 additions & 0 deletions .changeset/silent-goats-jog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Fix HeadTracker tests caused by simulated client update #internal
5 changes: 5 additions & 0 deletions .changeset/small-gifts-play.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#updated Operator UI to support StreamSpec job definition
5 changes: 5 additions & 0 deletions .changeset/swift-fireants-compare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

Add CSA authentication support to Beholder #added
5 changes: 5 additions & 0 deletions .changeset/thick-chefs-deliver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Enable AutoPurge feature on all affected chains #nops
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
/core/services/ccip @smartcontractkit/ccip
/core/services/ocr2/plugins/ccip @smartcontractkit/ccip

# CCIP
/core/services/ccip @smartcontractkit/ccip
/core/services/ocr2/plugins/ccip @smartcontractkit/ccip

# VRF-related services
/core/services/vrf @smartcontractkit/dev-services @smartcontractkit/core
/core/services/blockhashstore @smartcontractkit/dev-services @smartcontractkit/core
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ jobs:
uses: ./.github/actions/setup-go
with:
# race/fuzz tests don't benefit repeated caching, so restore from develop's build cache
restore-build-cache-only: ${{ matrix.type.cmd == 'go_core_race_tests' || matrix.type.cmd == 'go_core_fuzz' }}
restore-build-cache-only: ${{ matrix.type.cmd == 'go_core_fuzz' }}
build-cache-version: ${{ matrix.type.cmd }}

- name: Replace chainlink-evm deps
Expand Down Expand Up @@ -220,12 +220,13 @@ jobs:
go install ./pkg/chainlink/cmd/chainlink-starknet
popd
- name: Increase Race Timeout
# Increase race timeout for scheduled runs only
- name: Increase Timeouts for Fuzz/Race
# Increase timeouts for scheduled runs only
if: ${{ github.event.schedule != '' && needs.filter.outputs.should-run-ci-core == 'true' }}
run: |
echo "TIMEOUT=10m" >> $GITHUB_ENV
echo "COUNT=50" >> $GITHUB_ENV
echo "FUZZ_TIMEOUT_MINUTES=10">> $GITHUB_ENV
- name: Install gotestloghelper
if: ${{ needs.filter.outputs.should-run-ci-core == 'true' }}
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/delete-caches.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Cleanup Caches

# See:
# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries

on:
pull_request:
types:
- closed

jobs:
cleanup-branch-caches:
runs-on: ubuntu-latest
permissions:
# `actions:write` permission is required to delete caches
# See also: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id
actions: write
contents: read
steps:
- name: Check out code
uses: actions/[email protected]

- name: Cleanup Branch Caches
run: |
gh extension install actions/gh-actions-cache
REPO=${{ github.repository }}
BRANCH=refs/pull/${{ github.event.pull_request.number }}/merge
echo "Fetching list of cache key"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR
do
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
done
echo "Done"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ jobs:
contents: read
needs: [build-chainlink, changes]
if: github.event_name == 'pull_request' && ( needs.changes.outputs.core_changes == 'true' || needs.changes.outputs.github_ci_changes == 'true')
uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@ca50645120f0f07ed8c0df08175a5d6b3e4ac454 #ctf-run-tests@0.1.2
uses: smartcontractkit/.github/.github/workflows/run-e2e-tests.yml@5412507526722a7b1c5d719fa686eed5a1bc4035 #ctf-run-tests@0.2.0
with:
workflow_name: Run Core E2E Tests For PR
chainlink_version: ${{ inputs.evm-ref || github.sha }}
Expand Down
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ postgres 15.1
helm 3.10.3
golangci-lint 1.61.0
protoc 25.1
python 3.10.5
11 changes: 5 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog Chainlink Core

## 2.18.0 - UNRELEASED
## 2.18.0 - 2024-11-01

### Minor Changes

Expand Down Expand Up @@ -90,12 +90,10 @@
- [#14693](https://github.com/smartcontractkit/chainlink/pull/14693) [`03df8989e8`](https://github.com/smartcontractkit/chainlink/commit/03df8989e8e7549afb05bb49c765c0c07db8669e) Thanks [@ChrisAmora](https://github.com/ChrisAmora)! - #updated Consume Feeds Manager WSRPC protos from Chainlink Protos Repository.
- [#14694](https://github.com/smartcontractkit/chainlink/pull/14694) [`e9b3397f46`](https://github.com/smartcontractkit/chainlink/commit/e9b3397f465e26209c8c8ccfed66aa9595f8246b) Thanks [@mateusz-sekara](https://github.com/mateusz-sekara)! - Adjustments for usdc reader tests #internal
- [#14624](https://github.com/smartcontractkit/chainlink/pull/14624) [`be774f00a9`](https://github.com/smartcontractkit/chainlink/commit/be774f00a961d9a7361d9ae5b10c97996f7ab164) Thanks [@mateusz-sekara](https://github.com/mateusz-sekara)! - Registering USDC/CCTP events in the ChainReader during oracle creation #internal
- [#14534](https://github.com/smartcontractkit/chainlink/pull/14534) [`de268e98b8`](https://github.com/smartcontractkit/chainlink/commit/de268e98b8d68a284e1260297925b91c5d2411bc) Thanks [@huangzhen1997](https://github.com/huangzhen1997)! - - register polling subscription to avoid subscription leaking when rpc client gets closed.

- [#14534](https://github.com/smartcontractkit/chainlink/pull/14534) [`de268e98b8`](https://github.com/smartcontractkit/chainlink/commit/de268e98b8d68a284e1260297925b91c5d2411bc) Thanks [@huangzhen1997](https://github.com/huangzhen1997)!
- register polling subscription to avoid subscription leaking when rpc client gets closed.
- add a temporary special treatment for SubscribeNewHead before we replace it with SubscribeToHeads. Add a goroutine that forwards new head from poller to caller channel.
- fix a deadlock in poller, by using a new lock for subs slice in rpc client.
#bugfix

- fix a deadlock in poller, by using a new lock for subs slice in rpc client. #bugfix
- [#14656](https://github.com/smartcontractkit/chainlink/pull/14656) [`004a0de233`](https://github.com/smartcontractkit/chainlink/commit/004a0de2337b0312558ae7c045e7fc2fb4a05916) Thanks [@dimkouv](https://github.com/dimkouv)! - #added graceful shutdown for ccip oracles
- [#14720](https://github.com/smartcontractkit/chainlink/pull/14720) [`4f8c55eb01`](https://github.com/smartcontractkit/chainlink/commit/4f8c55eb01b5823f43f49761344e92dc37ec0114) Thanks [@vyzaldysanchez](https://github.com/vyzaldysanchez)! - #updated Refactors store_db
- [#14530](https://github.com/smartcontractkit/chainlink/pull/14530) [`2c16f46311`](https://github.com/smartcontractkit/chainlink/commit/2c16f4631184a6e3da7f2f3957173500e2c4837b) Thanks [@Madalosso](https://github.com/Madalosso)! - #updated default config values for FinalityTagEnabled to match CCIP configs
Expand All @@ -108,6 +106,7 @@
- [#14668](https://github.com/smartcontractkit/chainlink/pull/14668) [`dacb6a8c70`](https://github.com/smartcontractkit/chainlink/commit/dacb6a8c708e8d7cb94aa63ae7463f58a38d0e59) Thanks [@winder](https://github.com/winder)! - #internal ccip contract reader config.
- [#14814](https://github.com/smartcontractkit/chainlink/pull/14814) [`f708ebb094`](https://github.com/smartcontractkit/chainlink/commit/f708ebb094ecd6f4f77e9c480ceacd250fc1fadc) Thanks [@DylanTinianov](https://github.com/DylanTinianov)! - Fix testWSServer issue causing panic in testing #internal
- [#14635](https://github.com/smartcontractkit/chainlink/pull/14635) [`ee1d6e3b1a`](https://github.com/smartcontractkit/chainlink/commit/ee1d6e3b1a60dc657a5cab869aac0897e33dc76d) Thanks [@dhaidashenko](https://github.com/dhaidashenko)! - Hedera chain type: broadcast transactions only to a single healthy RPC instead of all healthy RPCs to avoid redundant relay fees. #changed
- [#15031](https://github.com/smartcontractkit/chainlink/pull/15031) [`6951f9e74a`](https://github.com/smartcontractkit/chainlink/commit/6951f9e74ae016fab1548b682d4fd8ed5b818d3c) Thanks [@ogtownsend](https://github.com/ogtownsend)! - #bugfix Update DA oracle config struct members to pointers

## 2.17.0 - 2024-10-10

Expand Down
1 change: 1 addition & 0 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ golangci-lint: ## Run golangci-lint for all issues.

.PHONY: modgraph
modgraph:
go install github.com/jmank88/[email protected]
./tools/bin/modgraph > go.md

.PHONY: test-short
Expand Down
5 changes: 5 additions & 0 deletions ccip/config/evm/Linea_Mainnet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@ ResendAfterThreshold = '3m'
# set greater than finality depth
[HeadTracker]
HistoryDepth = 350

[Transactions.AutoPurge]
Enabled = true
Threshold = 50 # 50 blocks at 3s block time ~2.5 minutes
MinAttempts = 3
7 changes: 6 additions & 1 deletion ccip/config/evm/Linea_Sepolia.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,9 @@ PriceMin = '1 wei'
ResendAfterThreshold = '3m'

[HeadTracker]
HistoryDepth = 1000
HistoryDepth = 1000

[Transactions.AutoPurge]
Enabled = true
Threshold = 50 # 50 blocks at 3s block time ~2.5 minutes
MinAttempts = 3
4 changes: 4 additions & 0 deletions ccip/config/evm/Polygon_Zkevm_Cardona.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@ BlockHistorySize = 12

[HeadTracker]
HistoryDepth = 2000

[Transactions.AutoPurge]
Enabled = true
MinAttempts = 3
4 changes: 4 additions & 0 deletions ccip/config/evm/Polygon_Zkevm_Mainnet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ BlockHistorySize = 12
[HeadTracker]
# Polygon suffers from a tremendous number of re-orgs, we need to set this to something very large to be conservative enough
HistoryDepth = 2000

[Transactions.AutoPurge]
Enabled = true
MinAttempts = 3
4 changes: 4 additions & 0 deletions ccip/config/evm/Scroll_Mainnet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ HistoryDepth = 50

[OCR]
ContractConfirmations = 1

[Transactions.AutoPurge]
Enabled = true
DetectionApiUrl = 'https://venus.scroll.io'
4 changes: 4 additions & 0 deletions ccip/config/evm/Scroll_Sepolia.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ HistoryDepth = 50

[OCR]
ContractConfirmations = 1

[Transactions.AutoPurge]
Enabled = true
DetectionApiUrl = 'https://sepolia-venus.scroll.io'
4 changes: 4 additions & 0 deletions ccip/config/evm/XLayer_Mainnet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,7 @@ BlockHistorySize = 12

[HeadTracker]
HistoryDepth = 2000

[Transactions.AutoPurge]
Enabled = true
MinAttempts = 3
4 changes: 4 additions & 0 deletions ccip/config/evm/XLayer_Sepolia.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,7 @@ BlockHistorySize = 12

[HeadTracker]
HistoryDepth = 2000

[Transactions.AutoPurge]
Enabled = true
MinAttempts = 3
36 changes: 36 additions & 0 deletions ccip/config/evm/Zircuit_Mainnet.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
ChainID = '48900'
ChainType = 'optimismBedrock'
FinalityTagEnabled = true
FinalityDepth = 1000
LinkContractAddress = '0x5D6d033B4FbD2190D99D930719fAbAcB64d2439a'
LogPollInterval = "2s"
NoNewHeadsThreshold = "40s"
NoNewFinalizedHeadsThreshold = "15m"

[GasEstimator]
EIP1559DynamicFees = true
PriceMin = '1 wei'
BumpMin = '100 wei'

[GasEstimator.BlockHistory]
BlockHistorySize = 24

[Transactions]
ResendAfterThreshold = '30s'

[HeadTracker]
HistoryDepth = 2000

[NodePool]
SyncThreshold = 10

[OCR]
ContractConfirmations = 1

[OCR2.Automation]
GasLimit = 6500000

[Transactions.AutoPurge]
Enabled = true
Threshold = 90 # 90 blocks at 2s block time ~3 minutes
MinAttempts = 3
36 changes: 36 additions & 0 deletions ccip/config/evm/Zircuit_Sepolia.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
ChainID = '48899'
ChainType = 'optimismBedrock'
FinalityTagEnabled = true
FinalityDepth = 1000
LinkContractAddress = '0xDEE94506570cA186BC1e3516fCf4fd719C312cCD'
LogPollInterval = "2s"
NoNewHeadsThreshold = "40s"
NoNewFinalizedHeadsThreshold = "15m"

[GasEstimator]
EIP1559DynamicFees = true
PriceMin = '1 wei'
BumpMin = '100 wei'

[GasEstimator.BlockHistory]
BlockHistorySize = 60

[Transactions]
ResendAfterThreshold = '30s'

[HeadTracker]
HistoryDepth = 2000

[NodePool]
SyncThreshold = 10

[OCR]
ContractConfirmations = 1

[OCR2.Automation]
GasLimit = 6500000

[Transactions.AutoPurge]
Enabled = true
Threshold = 90 # 90 blocks at 2s block time ~3 minutes
MinAttempts = 3
2 changes: 1 addition & 1 deletion common/txmgr/broadcaster.go
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,7 @@ func (eb *Broadcaster[CHAIN_ID, HEAD, ADDR, TX_HASH, BLOCK_HASH, SEQ, FEE]) hand
case client.Unknown:
eb.SvcErrBuffer.Append(err)
lgr.Criticalw(`Unknown error occurred while handling tx queue in ProcessUnstartedTxs. This chain/RPC client may not be supported. `+
`Urgent resolution required, Chainlink is currently operating in a degraded state and may miss transactions`, "attempt", attempt)
`Urgent resolution required, Chainlink is currently operating in a degraded state and may miss transactions`, "attempt", attempt, "err", err)
nextSequence, e := eb.client.PendingSequenceAt(ctx, etx.FromAddress)
if e != nil {
err = multierr.Combine(e, err)
Expand Down
12 changes: 6 additions & 6 deletions common/txmgr/confirmer.go
Original file line number Diff line number Diff line change
Expand Up @@ -1078,12 +1078,12 @@ func (ec *Confirmer[CHAIN_ID, HEAD, ADDR, TX_HASH, BLOCK_HASH, R, SEQ, FEE]) Ens
}

// Here, we rely on the finalized block provided in the chain instead of the one
//provided via a dedicated method to avoid the false warning of the chain being
//too short. When `FinalityTagBypass = true,` HeadTracker tracks `finality depth
//+ history depth` to prevent excessive CPU usage. Thus, the provided chain may
//be shorter than the chain from the latest to the latest finalized, marked with
//a tag. A proper fix of this issue and complete switch to finality tag support
//will be introduced in BCFR-620
// provided via a dedicated method to avoid the false warning of the chain being
// too short. When `FinalityTagBypass = true,` HeadTracker tracks `finality depth
// + history depth` to prevent excessive CPU usage. Thus, the provided chain may
// be shorter than the chain from the latest to the latest finalized, marked with
// a tag. A proper fix of this issue and complete switch to finality tag support
// will be introduced in BCFR-620
latestFinalized := head.LatestFinalizedHead()
if latestFinalized == nil || !latestFinalized.IsValid() {
if ec.nConsecutiveBlocksChainTooShort > logAfterNConsecutiveBlocksChainTooShort {
Expand Down
9 changes: 9 additions & 0 deletions contracts/.changeset/six-games-drum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@chainlink/contracts': minor
---

#internal CCIP test restructuring

PR issue: CCIP-4116

Solidity Review issue: CCIP-3966
Loading

0 comments on commit cf8dc4e

Please sign in to comment.