Skip to content

v0.2.2

Latest
Compare
Choose a tag to compare
@andrejrakic andrejrakic released this 15 Oct 12:00
cd3bfb8

chainlink local logo

v0.2.2 Release - 15 October 2024

This release adds support for CCIP v1.5 to Chainlink Local

Changelog

Dependencies

Package Version
@chainlink/contracts-ccip 1.5.0
@chainlink/contracts 1.1.1

Services

  • Chainlink CCIP
  • Chainlink CCIP v1.5
  • Chainlink Data Feeds
  • Chainlink Automation
  • Chainlink VRF 2
  • Chainlink VRF 2.5

Added

  • Support for Chainlink CCIP v1.5 (bumped @chainlink/contracts-ccip to
    1.5.0)
  • Added CCIP v1.5 config details to Register.sol for all available testnet
    lanes
  • Set EVM Version strictly to paris for all contracts
  • Added supportNewTokenViaOwner and supportNewTokenViaGetCCIPAdmin functions
    to CCIPLocalSimulator.sol instead of supportNewToken function
  • Added rmnProxyAddress, tokenAdminRegistryAddress and
    registryModuleOwnerCustomAddress to the NetworkDetails struct of the
    Register.sol smart contract
  • Added unit tests for new functions in the CCIPLocalSimulator.sol contract
  • Added e2e test for new changes in the CCIPLocalSimulatorFork.sol contract.
    There is a test with ERC-20 token with an owner() function implemented and
    Burn & Mint Pool, and test with ERC-20 token with a getCCIPAdmin() function
    implemented and Lock & Release Pool
  • Genereted new docs artifacts

Changed

  • Bumped Solidity compiler version from 0.8.19 to 0.8.24
  • The getSupportedTokens() function now only exists in the
    CCIPLocalSimulator.sol contract, it has been removed from the CCIP's
    Router.sol contract. Calling that function from the Router.sol contract in
    the Forking mode will now revert
  • Added uint32[] memory tokenGasOverrides as function parameter to the
    executeSingleMessage function in the CCIPLocalSimulatorFork.sol contract
    to reflect new changes in the CCIP's EVM2EVMOffRamp.sol smart contract
  • Bumped pragma solidity version of BasicTokenSender.sol,
    CCIPReceiver_Unsafe.sol, ProgrammableTokenTransfers and
    ProgrammableDefensiveTokenTransfers.sol contracts from the src/test folder
    from 0.8.19 to 0.8.24

Removed

  • Removed supportNewToken function from CCIPLocalSimulator.sol
  • Removed CCIPLocalSimulatorV0.sol and MockEvm2EvmOffRamp.sol contracts as
    they have not being used for a while
  • Removed DOCUMENTATION.md file since the official documentation is now
    available at https://docs.chain.link/chainlink-local
  • Removed remix-001.png and remix-002.png images from the assets folder,
    because they are no longer needed

Testing the release

To test this release install @chainlink-local using the following commands:

Foundry (git)

forge install smartcontractkit/[email protected]

and then set remappings to: @chainlink/local/=lib/chainlink-local/ in either remappings.txt or foundry.toml file

Hardhat (npm)

npm install @chainlink/[email protected]

and then create the following contract and compile it:

// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

import {CCIPLocalSimulator} from "@chainlink/local/src/ccip/CCIPLocalSimulator.sol";

Remix IDE

// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

import {CCIPLocalSimulator} from "https://github.com/smartcontractkit/chainlink-local/blob/v0.2.2/src/ccip/CCIPLocalSimulator.sol";

PRs included

New Contributors

Full Changelog: v0.2.1...v0.2.2