Skip to content

Commit

Permalink
Merge branch 'refs/heads/ccip-develop' into merge-upstream-25-sep-2024
Browse files Browse the repository at this point in the history
# Conflicts:
#	contracts/gas-snapshots/ccip.gas-snapshot
#	go.mod
#	go.sum
#	integration-tests/go.mod
#	integration-tests/go.sum
#	integration-tests/load/go.mod
#	integration-tests/load/go.sum
  • Loading branch information
valerii-kabisov-cll committed Sep 26, 2024
2 parents 07325fe + 390ee23 commit d6c914d
Show file tree
Hide file tree
Showing 41 changed files with 1,093 additions and 843 deletions.
5 changes: 5 additions & 0 deletions .changeset/khaki-tigers-agree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#added #nops Add Zircuit Configs
5 changes: 5 additions & 0 deletions .changeset/tender-lemons-obey.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Enable FeeHistory estimator for Polygon zkEVM #nops
1,410 changes: 746 additions & 664 deletions contracts/gas-snapshots/ccip.gas-snapshot

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/applications/CCIPClientExample.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {IRouterClient} from "../interfaces/IRouterClient.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/applications/CCIPReceiver.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {IAny2EVMMessageReceiver} from "../interfaces/IAny2EVMMessageReceiver.sol";

Expand Down
4 changes: 2 additions & 2 deletions contracts/src/v0.8/ccip/applications/DefensiveExample.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {IRouterClient} from "../interfaces/IRouterClient.sol";

Expand All @@ -8,7 +8,7 @@ import {CCIPClientExample} from "./CCIPClientExample.sol";

import {IERC20} from "../../vendor/openzeppelin-solidity/v4.8.3/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "../../vendor/openzeppelin-solidity/v4.8.3/contracts/token/ERC20/utils/SafeERC20.sol";
import {EnumerableMap} from "../../vendor/openzeppelin-solidity/v5.0.2/contracts/utils/structs/EnumerableMap.sol";
import {EnumerableMap} from "../../vendor/openzeppelin-solidity/v4.8.3/contracts/utils/structs/EnumerableMap.sol";

contract DefensiveExample is CCIPClientExample {
using EnumerableMap for EnumerableMap.Bytes32ToUintMap;
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/applications/PingPongDemo.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {ITypeAndVersion} from "../../shared/interfaces/ITypeAndVersion.sol";
import {IRouterClient} from "../interfaces/IRouterClient.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity 0.8.24;

import {Router} from "../Router.sol";
import {Client} from "../libraries/Client.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {CCIPConfigTypes} from "../libraries/CCIPConfigTypes.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {Internal} from "../../libraries/Internal.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/interfaces/IFeeQuoter.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {Client} from "../libraries/Client.sol";
import {Internal} from "../libraries/Internal.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/interfaces/IPriceRegistry.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {Internal} from "../libraries/Internal.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/interfaces/IRMNV2.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {Internal} from "../libraries/Internal.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/interfaces/IRouterClient.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {Client} from "../libraries/Client.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/libraries/Internal.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {MerkleMultiProof} from "../libraries/MerkleMultiProof.sol";
import {Client} from "./Client.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/libraries/MerkleMultiProof.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

library MerkleMultiProof {
/// @notice Leaf domain separator, should be used as the first 32 bytes of a leaf's preimage.
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/libraries/RateLimiter.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

/// @notice Implements Token Bucket rate limiting.
/// @dev uint128 is safe for rate limiter state.
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/ocr/MultiOCR3Base.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {OwnerIsCreator} from "../../shared/access/OwnerIsCreator.sol";
import {ITypeAndVersion} from "../../shared/interfaces/ITypeAndVersion.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/ocr/OCR2Base.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {OwnerIsCreator} from "../../shared/access/OwnerIsCreator.sol";
import {OCR2Abstract} from "./OCR2Abstract.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/ocr/OCR2BaseNoChecks.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {OwnerIsCreator} from "../../shared/access/OwnerIsCreator.sol";
import {OCR2Abstract} from "./OCR2Abstract.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/pools/LegacyPoolWrapper.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;
pragma solidity 0.8.24;

import {IPoolPriorTo1_5} from "../interfaces/IPoolPriorTo1_5.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity 0.8.24;

import {IBurnMintERC20} from "../../../shared/token/ERC20/IBurnMintERC20.sol";

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/test/helpers/MessageHasher.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {Client} from "../../libraries/Client.sol";
import {Internal} from "../../libraries/Internal.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/test/helpers/ReportCodec.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity 0.8.24;

import {Internal} from "../../libraries/Internal.sol";
import {OffRamp} from "../../offRamp/OffRamp.sol";
Expand Down
4 changes: 2 additions & 2 deletions contracts/src/v0.8/ccip/test/legacy/BurnMintTokenPool1_2.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;
// SPDX-License-Identifier: BUSL
pragma solidity ^0.8.20;

import {ITypeAndVersion} from "../../../shared/interfaces/ITypeAndVersion.sol";
import {IPoolPriorTo1_5} from "../../interfaces/IPoolPriorTo1_5.sol";
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/test/mocks/MockRouter.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
pragma solidity ^0.8.4;

import {IAny2EVMMessageReceiver} from "../../interfaces/IAny2EVMMessageReceiver.sol";
import {IRouter} from "../../interfaces/IRouter.sol";
Expand Down
1 change: 1 addition & 0 deletions core/chains/evm/config/toml/defaults/Astar_Mainnet.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
ChainID = '592'
ChainType = 'astar'
FinalityTagEnabled = true
FinalityDepth = 100
LogPollInterval = '6s'
Expand Down
10 changes: 6 additions & 4 deletions core/chains/evm/config/toml/defaults/Polygon_Zkevm_Cardona.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ ContractConfirmations = 1
ResendAfterThreshold = '3m'

[GasEstimator]
PriceMin = '1 mwei'
Mode = 'FeeHistory'
# The FeeHistory estimator does not enforce PriceMin, setting it to 0 to not place any limits on the price
PriceMin = '0'
BumpPercent = 40
BumpMin = '20 mwei'

[GasEstimator.BlockHistory]
BlockHistorySize = 12
[GasEstimator.FeeHistory]
# Refresh the suggested price every 4 seconds, to stay slightly below their polling rate of 5s
CacheTimeout = '4s'

[HeadTracker]
HistoryDepth = 2000
24 changes: 0 additions & 24 deletions core/chains/evm/config/toml/defaults/Polygon_Zkevm_Goerli.toml

This file was deleted.

10 changes: 6 additions & 4 deletions core/chains/evm/config/toml/defaults/Polygon_Zkevm_Mainnet.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ ContractConfirmations = 1
ResendAfterThreshold = '3m'

[GasEstimator]
PriceMin = '100 mwei'
Mode = 'FeeHistory'
# The FeeHistory estimator does not enforce PriceMin, setting it to 0 to not place any limits on the price
PriceMin = '0'
BumpPercent = 40
BumpMin = '100 mwei'

[GasEstimator.BlockHistory]
BlockHistorySize = 12
[GasEstimator.FeeHistory]
# Refresh the suggested price every 4 seconds, to stay slightly below their polling rate of 5s
CacheTimeout = '4s'

[HeadTracker]
# Polygon suffers from a tremendous number of re-orgs, we need to set this to something very large to be conservative enough
Expand Down
36 changes: 36 additions & 0 deletions core/chains/evm/config/toml/defaults/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 core/chains/evm/config/toml/defaults/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 core/scripts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ require (
github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.17.0
github.com/shopspring/decimal v1.4.0
github.com/smartcontractkit/chain-selectors v1.0.23
github.com/smartcontractkit/chain-selectors v1.0.24
github.com/smartcontractkit/chainlink-automation v1.0.4
github.com/smartcontractkit/chainlink-common v0.2.2-0.20240828121637-da5837469949
github.com/smartcontractkit/chainlink/v2 v2.0.0-00010101000000-000000000000
Expand Down
4 changes: 2 additions & 2 deletions core/scripts/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1070,8 +1070,8 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/smartcontractkit/chain-selectors v1.0.23 h1:D2Eaex4Cw/O7Lg3tX6WklOqnjjIQAEBnutCtksPzVDY=
github.com/smartcontractkit/chain-selectors v1.0.23/go.mod h1:d4Hi+E1zqjy9HqMkjBE5q1vcG9VGgxf5VxiRHfzi2kE=
github.com/smartcontractkit/chain-selectors v1.0.24 h1:day+2l0vBErgVIs2Y9ifSz+T7hIg4wAoiWlMCjCdhto=
github.com/smartcontractkit/chain-selectors v1.0.24/go.mod h1:d4Hi+E1zqjy9HqMkjBE5q1vcG9VGgxf5VxiRHfzi2kE=
github.com/smartcontractkit/chainlink-automation v1.0.4 h1:iyW181JjKHLNMnDleI8umfIfVVlwC7+n5izbLSFgjw8=
github.com/smartcontractkit/chainlink-automation v1.0.4/go.mod h1:u4NbPZKJ5XiayfKHD/v3z3iflQWqvtdhj13jVZXj/cM=
github.com/smartcontractkit/chainlink-common v0.2.2-0.20240828121637-da5837469949 h1:9YHYswxhxMAgdJhb+APrf57ZEPsxML8H71oxxvU36eU=
Expand Down
Loading

0 comments on commit d6c914d

Please sign in to comment.