Skip to content

Releases: smartcontractkit/ccip

v2.9.1-ccip1.4.6

20 Mar 19:12
62ac7b4
Compare
Choose a tag to compare

v2.9.1-ccip1.4.5

08 Mar 17:41
fc9f5ec
Compare
Choose a tag to compare

Changelog

  • Upgrading Chainlink Node to the latest version 2.9.1
  • Checking if both source and destination chains are not cursed before starting processing. Besides that, we also verify finality violation and checks are applied on all ocr2 phases #583, #580
  • Detecting OnRamp dynamic config changes to properly update Price Registry #544

v2.8.0-ccip1.4.3

01 Mar 00:32
f8c6250
Compare
Choose a tag to compare

High level changelog

  • Token pools are no longer configured with specific on- or offRamps but rather chains through chain selectors.

    • Token pools validate callers through the router, which should now be passed in via the constructor
    • Many events around adding/removing/updating allowed ramps now have an updated event around adding/removing/updating chains.
    • Rate limits are set for inbound and outbound explicitly, this is not different from the previous method where onRamps and offRamps are set separately.
      • Rate limits apply per remote chain, not per lane. This means that having multiple lanes enabled doesn't increase risk like it used to.
    • Enabling a chain on a token pool will allow every on- and offRamp that is configured on the router for that remote chain.
      • This also means that token pool ramp permissions do not need to be updated on a lane upgrade
  • OffRamp offchain config format changed:

    • Renamed the MaxGasPrice field to DestMaxGasPrice.
    • Removed obsolete SourceFinalityDepth and DestFinalityDepth fields.

    This change is not breaking: the config decoder still accepts old field names.

  • CommitStore offchain config format changed:

    • Renamed the MaxGasPrice field to SourceMaxGasPrice.
    • Removed obsolete SourceFinalityDepth and DestFinalityDepth fields.

    This change is not breaking: the config decoder still accepts old field names.

  • Minor changes to the Prometheus metrics emitted by plugins

    • ccip_unexpired_report_skipped, ccip_execution_observation_reports_count, ccip_execution_observation_build_duration, ccip_execution_build_single_batch, ccip_execution_reports_iteration_build_batch
      removed, because they didn't introduce any additional value compared to the existing OCR2 metrics.
    • Some metrics added to track details of the processing
      • ccip_unexpired_commit_roots number of unexpired Commit Roots processed by Exec during the OCR2 iteration
      • ccip_number_of_messages_processed number of messages processed by the Exec when building the OCR2 reports and observations
      • ccip_sequence_number_counter latest sequence number that was used for generating Commit Report
  • New DynamicPriceGetter implementation of PriceGetter.

    • allows for dynamic price fetching from an aggregator contract as well as using static configuration of token prices.
    • current pipeline implementation is still supported.
    • only one of the two PriceGetter implementations can be used at a time (specified in the job spec).

What's Changed

Full Changelog: v2.8.0-ccip1.4.0-release...v2.8.0-ccip1.4.3-release

v2.8.0-ccip1.4.0

19 Feb 13:51
92cd617
Compare
Choose a tag to compare

High level changelog

  • Token pools are no longer configured with specific on- or offRamps but rather chains through chain selectors.

    • Token pools validate callers through the router, which should now be passed in via the constructor
    • Many events around adding/removing/updating allowed ramps now have an updated event around adding/removing/updating chains.
    • Rate limits are set for inbound and outbound explicitly, this is not different from the previous method where onRamps and offRamps are set separately.
      • Rate limits apply per remote chain, not per lane. This means that having multiple lanes enabled doesn't increase risk like it used to.
    • Enabling a chain on a token pool will allow every on- and offRamp that is configured on the router for that remote chain.
      • This also means that token pool ramp permissions do not need to be updated on a lane upgrade
  • OffRamp offchain config format changed:

    • Renamed the MaxGasPrice field to DestMaxGasPrice.
    • Removed obsolete SourceFinalityDepth and DestFinalityDepth fields.

    This change is not breaking: the config decoder still accepts old field names.

  • CommitStore offchain config format changed:

    • Renamed the MaxGasPrice field to SourceMaxGasPrice.
    • Removed obsolete SourceFinalityDepth and DestFinalityDepth fields.

    This change is not breaking: the config decoder still accepts old field names.

  • Minor changes to the Prometheus metrics emitted by plugins

    • ccip_unexpired_report_skipped, ccip_execution_observation_reports_count, ccip_execution_observation_build_duration, ccip_execution_build_single_batch, ccip_execution_reports_iteration_build_batch
      removed, because they didn't introduce any additional value compared to the existing OCR2 metrics.
    • Some metrics added to track details of the processing
      • ccip_unexpired_commit_roots number of unexpired Commit Roots processed by Exec during the OCR2 iteration
      • ccip_number_of_messages_processed number of messages processed by the Exec when building the OCR2 reports and observations
      • ccip_sequence_number_counter latest sequence number that was used for generating Commit Report
  • New DynamicPriceGetter implementation of PriceGetter.

    • allows for dynamic price fetching from an aggregator contract as well as using static configuration of token prices.
    • current pipeline implementation is still supported.
    • only one of the two PriceGetter implementations can be used at a time (specified in the job spec).

New Contributors

Full Changelog: v2.7.1-ccip1.2.4-release...v2.8.0-ccip1.4.0

v2.7.1-ccip1.2.4

18 Dec 08:25
94fe348
Compare
Choose a tag to compare

CCIP 1.2.4 Release

This release doesn't contain any new features or contract changes. Only off-chain improvements.

Changelog

  • Enabling finality tags for WeMix chain #336
  • Minor fix to USDC filters #383

contracts-ccip/v1.2.1

07 Dec 17:28
contracts-ccip/v1.2.1
42047e5
Compare
Choose a tag to compare

v2.7.1-ccip1.2.2

05 Dec 15:05
33f1991
Compare
Choose a tag to compare

CCIP 1.2.2 Release

This release doesn't contain any new features or contract changes. Only off-chain improvements.

Changelog

Performance improvements:

  • Processing Commit Roots in steps #284
  • Fetching single Commit Root instead of list #291
  • More performant caching behavior #287
  • Upper bound limit when fetching Commit Reports in Commit Plugin #299
  • RPC batching #233

Monitoring:

  • USDC Attestation API metrics #277
  • improvements in prom metrics for Readers #288

Other

  • Switching Avalanche and Polygon (both testnet and mainnet) to use finality tags #307
  • Adding various testnets to chain selectors #310
  • Core repo merges, including
  • Switching to LogPoller's finality from SourceFinalityDepth param #296
  • Fixing database passing transaction context between CLO and CCIP plugins
  • Adds supports for Optimism, Arbitrum, Base Sepolia networks #340
  • Minor performance improvement. Exec doesn't require finalized messages when executing Commit Report #347

v2.6.0-ccip1.2.1

27 Nov 17:48
147ca18
Compare
Choose a tag to compare

CCIP 1.2.1 Release

Feature Change Log

  • Fixing database passing transaction context between CLO and CCIP plugins

v2.6.0-ccip1.2.0

21 Nov 13:27
42a1f63
Compare
Choose a tag to compare

CCIP 1.2.0 Release

Feature Change Log

USDC

  • Support for sending USDC via native integration with Circle’s CCTP protocol.
    • Added USDC token pool to interface with Circle's ITokenMessenger and IMessageReceiver
    • Jobspec changes to support USDC information
    • USDC will be burned by CCTP on source chain and minted by CCTP to token receiver on destination chain.

Billing Changes

  • TokenPool destination gas and TokenPool data sizes are now factored in billing to cover NOP costs.
  • When the destination chain is a rollup, OnRamp additionally charges CCIP Sender L1 data availability fee to cover NOP costs.
    • GasPrice changed to uint224, with higher-order 112 bits being l1BaseFee of dest L2, lower-order 112 bits being dest gas price.
  • Token transfer premium fee min/max changed back to be per-token.

Token Pool Data and Gas Cap

  • OnRamp limits return data size from source TokenPool to the token-specific destBytesOverhead. For most tokens, this value is 0.
  • OffRamp limits gas passed to TokenPools. Current default to 200K gas.

Public OnRamp

  • Allowlist functionalities have been removed from OnRamp. OnRamp is now public.

Chain Expansion

  • Add Wemix and Kroma support

Other Misc Changes

  • LockReleaseTokenPool contract now has the option to reject outside liquidity.
  • MessageId hashing scheme is updated.
  • 0-amount token transfer is disallowed.
  • PriceRegistry now accepts multiple gas price updates in a single update.
  • All contracts implement TypeAndVersion. Previously, TokenPool and PriceRegistry were missing.
  • Chain selectors moved to a dedicated repo: https://github.com/smartcontractkit/chain-selectors
  • A number of offchain performance optimizations allowing for shorter OCR duration.
  • Big versioning initiative to enable straightforward 0-downtime NOP upgrades.
  • Fixing nil pointer reference from beta0
  • Adding logs to debug missing L1 gas price in #217
  • commit plugin - set offchain config n #218
  • offchain - explicit initialisations in #219
  • Add multi-chain telemetry support, exports OCR telemetry from commit and exec plugins.
  • Update collision-resistent BytesOfBytesHashing

Full Change Log

fc59e6f1575355aaae2c0abe6b082a00e49e9fb5...9d5c3d420cb2ed03a11096bf57347c637af20f7f

v2.6.0-ccip1.2.0

20 Nov 17:30
9d5c3d4
Compare
Choose a tag to compare

CCIP 1.2.0 Release

Feature Change Log

USDC

  • Support for sending USDC via native integration with Circle’s CCTP protocol.
    • Added USDC token pool to interface with Circle's ITokenMessenger and IMessageReceiver
    • Jobspec changes to support USDC information
    • USDC will be burned by CCTP on source chain and minted by CCTP to token receiver on destination chain.

Billing Changes

  • TokenPool destination gas and TokenPool data sizes are now factored in billing to cover NOP costs.
  • When the destination chain is a rollup, OnRamp additionally charges CCIP Sender L1 data availability fee to cover NOP costs.
    • GasPrice changed to uint224, with higher-order 112 bits being l1BaseFee of dest L2, lower-order 112 bits being dest gas price.
  • Token transfer premium fee min/max changed back to be per-token.

Token Pool Data and Gas Cap

  • OnRamp limits return data size from source TokenPool to the token-specific destBytesOverhead. For most tokens, this value is 0.
  • OffRamp limits gas passed to TokenPools. Current default to 200K gas.

Public OnRamp

  • Allowlist functionalities have been removed from OnRamp. OnRamp is now public.

Chain Expansion

  • Add Wemix and Kroma support

Other Misc Changes

  • LockReleaseTokenPool contract now has the option to reject outside liquidity.
  • MessageId hashing scheme is updated.
  • 0-amount token transfer is disallowed.
  • PriceRegistry now accepts multiple gas price updates in a single update.
  • All contracts implement TypeAndVersion. Previously, TokenPool and PriceRegistry were missing.
  • Chain selectors moved to a dedicated repo: https://github.com/smartcontractkit/chain-selectors
  • A number of offchain performance optimizations allowing for shorter OCR duration.
  • Big versioning initiative to enable straightforward 0-downtime NOP upgrades.
  • Fixing nil pointer reference from beta0
  • Adding logs to debug missing L1 gas price in #217
  • commit plugin - set offchain config n #218
  • offchain - explicit initialisations in #219
  • Add multi-chain telemetry support, exports OCR telemetry from commit and exec plugins.
  • Update collision-resistent BytesOfBytesHashing

Full Change Log

fc59e6f1575355aaae2c0abe6b082a00e49e9fb5...9d5c3d420cb2ed03a11096bf57347c637af20f7f