Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MaxLogsKept = 1 for contract transmitter #1126

Closed
wants to merge 994 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 8, 2024

  1. feat: optimise EVM2EVMMultiOffRamp.executeSingleMessage (#1235)

    ## Motivation
    `EVM2EVMMultiOffRamp.executeSingleMessage` is optimised by replacing
    memory to calldata, internal functions
    `_releaseOrMintSingleTokens` and `_releaseOrMintSingleToken` can be
    optimised
    ```
    function executeSingleMessage(Internal.Any2EVMRampMessage memory message, bytes[] memory offchainTokenData) external
    ```
    Tradeoff is increased contract size, which is exceeding the limit and
    thus we have to decrease the optimiser runs
    
    ## Findings
    After replacing memory with call data we have the following findings for
    gas and contract size
    
    | Test               | Before  | after | delta |
    |
    -------------------------------------------------------------------------------------------
    | ------ | ------ | ------ |
    |
    EVM2EVMMultiOffRamp_executeSingleMessage:test_NonContractWithTokens_Success()
    | 249368 | 247671 | \-1697 |
    | EVM2EVMMultiOffRamp_executeSingleMessage:test_NonContract_Success() |
    20672 | 19245 | \-1427 |
    |
    EVM2EVMMultiOffRamp_executeSingleMessage:test_executeSingleMessage_NoTokens_Success()
    | 48381 | 47265 | \-1116 |
    |
    EVM2EVMMultiOffRamp_executeSingleMessage:test_executeSingleMessage_WithTokens_Success()
    | 278146 | 276759 | \-1387 |
    |
    EVM2EVMMultiOffRamp_executeSingleMessage:test_executeSingleMessage_WithValidation_Success()
    | 93615 | 92499 | \-1116 |
    |
    EVM2EVMMultiOffRamp__releaseOrMintSingleToken:test__releaseOrMintSingleToken_Success()
    | 108343 | 107939 | \-404 |
    
    | **Optimser Run** | **Size** | **Margin(kB)** | **With call data
    optimisation** |
    | ---------------- | --------------------------------- | --------------
    | ------------------------------- |
    | 2500 | 24.113 | 0.463 | No |
    | 2500 | 24.857 (size increase of 0.744kB) | \-0.281 | Yes |
    | 2400 | 24.635 | \-0.059 | Yes |
    | 2200 | 24.635 | \-0.059 | |
    | 2000 | 24.572 | 0.004 | Yes |
    
    ---------
    
    Signed-off-by: 0xsuryansh <[email protected]>
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    e4df584 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. undo transferFrom, assert balance in offRamp (#1273)

    ## Motivation
    It is significantly cheaper to assert balances than do the transferFrom
    
    ## Solution
    Undo recent approve changes, add balance assertions
    
    
    had to undo some of the multiOfframp calldata changes to make it fit
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    0ae527c View commit details
    Browse the repository at this point in the history
  2. Manual-execute-gas-overrides (#1256)

    ## Motivation
    currently, gas amounts are placed in the SourceTokenData. However, for
    the multi-ramps, the token data should be chain-family agnostic, which
    will likely require the destGasAmount lift to another field
    
    
    
    ## Solution
    
    - add a new Struct which holds the receiverExecutionGasLimit and
    transferGasAmounts
    
    ```js
    struct GasLimitOverride {
        uint256 receiverExecutionGasLimit;
        uint256[] tokenGasOverrides;
    }
    ```
    
    - `tokenGasOverrides` is an array of GasLimits to be used during the
    `relaseOrMint` call for the specific tokenPool associated with token
    
    ---------
    
    Signed-off-by: 0xsuryansh <[email protected]>
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Co-authored-by: 0xsuryansh <[email protected]>
    Co-authored-by: Rens Rooimans <[email protected]>
    4 people authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    1cfd5e7 View commit details
    Browse the repository at this point in the history
  3. bump version to 1.5 (#1263)

    Final release of all 1.5 contracts - don't merge before the other PRs
    are all in
    
    
    TODO
    - #1258
    - #1256
    - #1273
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    a097381 View commit details
    Browse the repository at this point in the history
  4. bump version to 1.5 (#1279)

    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    6facafc View commit details
    Browse the repository at this point in the history
  5. Separate token price reporting schedule (#1278)

    ## Motivation
    Static price removal job rollout will be delayed to after 1.5 release.
    To unblock db load concerns in 1.4.21 which writes prices to db, we want
    to reduce number of token-price related insertions in db.
    
    ## Solution
    Separate gas price and token price insertion frequency, insert every 10
    minutes for token price. 10-min resolution for token price is accurate
    enough for our use case.
    matYang authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    9cfb5c3 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. [CCIP-2875] fix live network tests (#1250)

    ## Problem
    The previous shared wallet used in the live network tests is
    discontinued and we are advised to use new
    wallet(`0xB509c046e1182c7B36d2D9733554BC268716803C`) provided by
    Security team and the private key of this wallet is stored in github
    secret name `QA_SHARED_803C_KEY`. Need to wire this secret to our test
    config to consume the private key in our test.
    
    https://smartcontract-it.atlassian.net/browse/CCIP-2875
    
    ## Solution
    
    1. Added a stop gap solution until
    [testsecrets](#1189)
    changes are merged and secrets are modified.
    2. Enable the workflow schedule
    
    ---------
    
    Co-authored-by: Balamurali Gopalswami <[email protected]>
    Co-authored-by: Balamurali Gopalswami <[email protected]>
    3 people authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    702e485 View commit details
    Browse the repository at this point in the history
  2. aggregate token and gas price heartbeat updates into batches (#1282)

    ## Motivation
    Price reporting frequencies have been turned to following values on Eth
    mainnet (where most price update costs is)
    ```
    GasHeartBeat: 2hr
    ExecGasPriceDeviation: 400%
    DAPriceDeviation: 400%
    TokenPriceHeartBeat: 12hr
    TokenPriceDeviation: 20%
    ```
    
    As a result, updates are mostly heartbeat driven as opposed to deviation
    driven. A simple trick to improve leader-lane batching is to always
    batch report all heartbeat prices.
    
    In clam environments where prices are heartbeat driven, this absolutely
    minimizes number of price reports.
    
    In flux environments where good number of prices are deviation driven
    while some remain heartbeat driven, e.g. in case of Eth blob base fee
    spike, the penalty we take for including each additional prices is low
    (~6k gas) v.s the OCR tx overhead (~110k gas)
    matYang authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    a4b734a View commit details
    Browse the repository at this point in the history
  3. update pool func visibility (#1283)

    ## Motivation
    
    
    ## Solution
    matYang authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    151487c View commit details
    Browse the repository at this point in the history
  4. core/capabilities/ccip: bump chainlink-ccip (#1284)

    ## Motivation
    
    Recent merges to chainlink-ccip have caused the integration test to
    break.
    
    ## Solution
    
    Include the gas estimator changes required as well as some token data
    reader changes.
    
    Include fixes from
    smartcontractkit/chainlink-ccip#60
    makramkd authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    b1db2a0 View commit details
    Browse the repository at this point in the history
  5. open zeppelin v 5 migration (#1281)

    ## Motivation
    Use the latest version of deps
    
    ## Solution
    Upgrade OZ deps to latest version
    
    ## Implementation Notes
    `IERC20` and `SafeERC20` are kept on `4.8.3` because of the `^0.8.20`
    requirement OZ imposes on the v5 contracts. We can't upgrade these deps
    until the rest of the contract codebase upgrades to 0.8.20+
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    83f6d30 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. align comment statement (#1288)

    ## Motivation
    I guess this mis-aligned comment statement is a problem in a yml file.
    Hope this resolves the failure mentioned
    [here](https://github.com/smartcontractkit/ccip/actions/runs/10360863386/workflow#L143)
    
    ## Solution
    Align and try.
    b-gopalswami authored Aug 13, 2024
    Configuration menu
    Copy the full SHA
    03ae3bb View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. feat: rateLimiterConfig mapping of localToRemoteTokens to take bytes …

    …instead of bytes32 (#1207)
    
    ## Description:
    rateLimiterConfig mapping of localToRemoteTokens to take bytes instead
    of bytes32
    
    ## Details
    
    - In the MultiAggregateRateLimiter contract, the the following mapping
    might be simplifiable to
    - (uint64 remoteChainSelector -> address token) , 
    - since it is only used as an isEnabled check (i.e. the (address token
    -> bytes32 remoteToken) is never used on-chain)
    - mapping being necessary off-chain, we need to convert the (address ->
    bytes32) mapping to (address -> bytes) to be consistent with using bytes
    for all family-agnostic addresses
    
    ```js
    mapping(uint64 remoteChainSelector => EnumerableMapAddresses.AddressToBytes32Map tokensLocalToRemote) internal
        s_rateLimitedTokensLocalToRemote;
    ```
    
    this has to been changed to
    
    ```js
      mapping(uint64 remoteChainSelector => EnumerableMapAddresses.AddressToBytesMap tokensLocalToRemote) internal
        s_rateLimitedTokensLocalToRemote;
    ```
    
    ## Change List:
    
    1. New solidity library `EnumerableMapBytes32` which contains
    `Bytes32ToBytes` Mapping and enumerate it
    2. `EnumerableMapAddresses.sol` library has added support for the new
    library cherrypicked from chainlink repo `EnumerableMapBytes32`
    3. `MultiAggregateRateLimiter` with mapping for remoteSelector ->
    localTokenAddress -> remoteTokenAddress is updated to contain
    remoteTokenAddress as `bytes` instead of `bytes32`
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    deec42f View commit details
    Browse the repository at this point in the history
  2. core/capabilities/ccip: bump chainlink-ccip, fix tests (#1291)

    ## Motivation
    
    Bump chainlink-ccip to the version from this PR:
    smartcontractkit/chainlink-ccip#64
    
    ## Solution
    
    Bump and fix the tests.
    makramkd authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    04e0224 View commit details
    Browse the repository at this point in the history
  3. bump chainlink-ccip to latest ccip-develop sha (#1293)

    ## Motivation
    
    Routine bump of chainlink-ccip after the
    smartcontractkit/chainlink-ccip#64 PR was
    merged. This has no functional changes, see
    #1291 for the PR that fixed
    the integration tests.
    
    ## Solution
    
    Bump chainlink-ccip.
    makramkd authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    077f585 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. Fix stale comment (#1296)

    - Fix stale comment
    - remove wrapper gen for the old mockRMN 
    	- should no longer be used in offchain tests, use the real RMN instead
    - Remove naming clash with RMN
    RensR authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    2c58177 View commit details
    Browse the repository at this point in the history
  2. add BurnWithFromMintTokenPoolAndProxy (#1287)

    There's already 1.4 pools out there of this type so we need a proxy
    RensR authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    7a0b7f8 View commit details
    Browse the repository at this point in the history
  3. Cherry-Pick: Handle terminally stuck transactions on send (#1298)

    Cherry-pick of smartcontractkit/chainlink#14127
    
    Required to successfully handle zk overflows on Polygon zkEVM and X
    Layer.
    
    Co-authored-by: amit-momin <[email protected]>
    Co-authored-by: Rens Rooimans <[email protected]>
    3 people authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    17341c7 View commit details
    Browse the repository at this point in the history
  4. Adding ooo flag to the PingPong (#1239)

    * setter of a bool representing the `allowOutOfOrderExecution`
    * creating and passing `extraArgs` to the message
    0xnogo authored Aug 15, 2024
    Configuration menu
    Copy the full SHA
    5e1b6d1 View commit details
    Browse the repository at this point in the history
  5. fix unhandled already seen tx error for gnosis chiado (#14099)

    * add case for gnosis
    
    * add changeset
    
    * fix typo
    
    * typo
    
    ---------
    
    Co-authored-by: Prashant Yadav <[email protected]>
    huangzhen1997 and prashantkumar1982 committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    5129735 View commit details
    Browse the repository at this point in the history
  6. classify arbitrum sequencer inaccessible error as retryable (#14100)

    * add error handling for service unavailable for arbitrum
    
    * add changeset
    
    * update error message
    
    ---------
    
    Co-authored-by: Prashant Yadav <[email protected]>
    huangzhen1997 and prashantkumar1982 committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    e5ea998 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

  1. fix hh compile and bump publish-prod version (#1299)

    ## Motivation
    
    
    ## Solution
    RensR authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    48e4152 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d003a22 View commit details
    Browse the repository at this point in the history
  3. add getPreviousPool (#1312)

    ## Motivation
    getPreviousPool was missing 
    
    ## Solution
    
    Add getPreviousPool
    RensR authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    7985d31 View commit details
    Browse the repository at this point in the history
  4. Tooling deployment scaffolding (#1252)

    - NOTE ~5k is generated protobuf code to unblock. That will be imported
    once exposed.
    - We put the deployment/configuration logic in integration-tests module
    for a few reasons:
    - Keeps the chain dependencies out of the core module, in particular
    helpful for eventual cross family tests
    - It can become the canonical deployment logic to be used for CRIB envs
    as well (eventually can replace the actions + contracts dirs)
    - To accomplish the lightweight tests (chainlink.Application +
    simulated.Backend) we expose some test utilities in util/testutils/
    - integration-tests/deployment holds product agnostic deployment
    utilities including a general purpose environment structure to write
    environment abstracted code against and migration output components
    (address books, proposals etc)
    - integration-tests/deployment/ccip holds all product specific
    deployment code including
    - Top level migrations and migration tests where a "migration" is
    defined to be a function which operates against an environment and
    outputs a MigrationOutput structure with one or more artifacts (MCMS
    proposals, job specs). Notably migration tests can apply those outputs
    to an ephemeral environment to ensure correctness. These migrations are
    intended for export and use against real environments (testnet/mainnet).
    - Re-usable product specific components of top level migrations and
    associated tests
    
    Next steps / follow up PRs:
    - Port testutils export to chainlink repo
    - Example solana setup
    - Once cross family validated, start deeper testing and real CCIP use
    cases
    
    ---------
    
    Co-authored-by: Adam Hamrick <[email protected]>
    Co-authored-by: AnieeG <[email protected]>
    3 people authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    07adf8a View commit details
    Browse the repository at this point in the history
  5. create a script to generate artifacts for G++ (#1315)

    ## Motivation
    Needed a script to update compiled json artifacts in G++ 
    
    ## Solution
    Added few more options in solc compile 
    Generated a shell script and make command to update artifacts in G++
    path for specific contracts
    AnieeG authored Aug 16, 2024
    Configuration menu
    Copy the full SHA
    5cf71a9 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. CCIP-2594 Add pagination based query of CCIPConfig (#1136)

    ## Motivation
    CCIP Config can go to larger size and any query from offchain components
    via rpc call can cause timeout issues
    
    ## Solution
    add pagination to `getAllCCIPConfig` function which takes 
    - pageSize
    - startIndex
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Co-authored-by: Makram Kamaleddine <[email protected]>
    3 people authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    8f3486c View commit details
    Browse the repository at this point in the history
  2. feat: CCIP-1451 gasUsed for Execution to be emitted along with Execut… (

    #1310)
    
    ## Motivation
    gasUsed for Execution to be emitted along with
    ExecutionStateChangedEvent
    
    ## Solution
    compute `gasUsed` for execution of a message in EVM2EVMMultiOffRamp
    this change is applicable to only 1.6 version
    Test Assertion must be added to assert the event body parameters
    (excluding the gasUsed as it cant be hardcoded in tests)
    
    ** This is extension of the closed PR:
    #1297
    got signature verification issue with other PR. so moving all changes
    over here
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Co-authored-by: Ryan <[email protected]>
    3 people authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    91b0cbe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5f52675 View commit details
    Browse the repository at this point in the history
  4. core/capabilities/ccip: use commit plugin w/ state machine (#1321)

    ## Motivation
    
    Use the commit plugin state machine implementation.
    
    ## Solution
    
    Use the commit plugin state machine implementation.
    makramkd authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    cc8d128 View commit details
    Browse the repository at this point in the history
  5. Finalize date on changelog for 2.15.0 (#14144)

    Signed-off-by: chainchad <[email protected]>
    chainchad authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    883c9f9 View commit details
    Browse the repository at this point in the history
  6. Fix import paths (#1316)

    ## Motivation
    
    
    ## Solution
    connorwstein authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    f1f63fd View commit details
    Browse the repository at this point in the history
  7. set more correct gas overheads (#1319)

    Cleanup & more realistic values for gas overheads
    RensR authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    11c2759 View commit details
    Browse the repository at this point in the history
  8. No new finalized Heads Implementation (#13907)

    * No new finalized Heads Implementation
    
    * fixed tests
    
    * update defaults for NoNewFinalizedHeadsThreshold
    
    * Update common/client/node_lifecycle.go
    
    Co-authored-by: amit-momin <[email protected]>
    
    * Update common/client/node_lifecycle_test.go
    
    Co-authored-by: amit-momin <[email protected]>
    
    * Update common/client/node_lifecycle_test.go
    
    Co-authored-by: amit-momin <[email protected]>
    
    * rename HeadIsNotIncreasing to NoNewHead
    
    * move and add docs for syncIssue consts
    
    * rename syncIssue to syncStatus
    
    ---------
    
    Co-authored-by: amit-momin <[email protected]>
    2 people authored and simsonraj committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    b5076b1 View commit details
    Browse the repository at this point in the history
  9. BCI-3842 custom timeouts for Hedera (#13876)

    * allow to configure RPCTimeouts
    
    * Custom (30s) timeout for Hedera RPC requests with large payloads (SendTransaction, CallContext, etc.)
    
    * fix linter
    dhaidashenko authored and simsonraj committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    d496c99 View commit details
    Browse the repository at this point in the history
  10. Add nonce validation after broadcast for Hedera (#13957)

    * Added post-broadcast nonce validation for Hedera
    
    * Added changeset
    
    * Updated chaintype docs for Hedera
    
    * Fixed lint errors
    
    * Added condition to handle on-chain seq less than tx seq and updated comment
    amit-momin authored and simsonraj committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    64a2343 View commit details
    Browse the repository at this point in the history
  11. Custom Astar finality (#14021)

    * Custom Astar finality
    
    * fix merge artifact
    
    * fix lint issue
    
    * simplify isRequestingFinalizedBlock
    
    * avoid iterating through the whole batch again
    
    * fix errors wrapping
    dhaidashenko authored and simsonraj committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    611a928 View commit details
    Browse the repository at this point in the history
  12. Docs update

    simsonraj committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    655289d View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. Configuration menu
    Copy the full SHA
    12d4cd9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d2f26ae View commit details
    Browse the repository at this point in the history
  3. fix stale comment (#1327)

    RensR authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    4e52098 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fcce450 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f5fca9d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a1ade94 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    66405be View commit details
    Browse the repository at this point in the history
  8. Cherry pick handle errors handling for gnosis and arbitrum (#1304)

    Cherry-Pick: classify arbitrum sequencer inaccessible error as retryable
    (smartcontractkit/chainlink#14100)
    Cherry-Pick: fix unhandled already seen tx error for gnosis chiado
    (smartcontractkit/chainlink#14099)
    
    Requires:
    “alreadyknown” is properly classified
    Errors are classified to be Retryable
    simsonraj authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    7200ebe View commit details
    Browse the repository at this point in the history
  9. Stronger address book typing (#1326)

    ## Motivation
    Want to be maximally defensive for the address book to prevent
    corruption.
    
    ## Solution
    - Type contract and version
    - Let products compose type and version at deploy/state gen time to
    avoid a combinatorial number of strings
    connorwstein authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    0227b9f View commit details
    Browse the repository at this point in the history
  10. Rename ramps and rmn (#1323)

    RensR authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    377f0db View commit details
    Browse the repository at this point in the history
  11. Updates to manual-execution program and batch runner script (#1271)

    ## Motivation
    
    There were many transactions which needed to be executed.
    
    ## Solution
    
    Finish the work that @dimkouv started in #631
    
    ---------
    
    Co-authored-by: Abdelrahman Soliman (Boda) <[email protected]>
    winder and asoliman92 authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    4d14ad6 View commit details
    Browse the repository at this point in the history
  12. CCIP-3046 Rename migration to changeset (#1332)

    ## Motivation
    
    
    ## Solution
    cmalec authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    a42fa81 View commit details
    Browse the repository at this point in the history
  13. Tooling refactor preparing for configuration workflows (#1334)

    ## Motivation 
    Various refactoring tasks prior to adding more configuration workflows. 
    ## Solution
    - Incorporating ramp/changset rename
    - Extracting chain contract deployment and state representation per
    chain
    connorwstein authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    22f5d3c View commit details
    Browse the repository at this point in the history
  14. feat(web/sdk): feeds manager gql client (#1333)

    ## Motivation
    
    Integration tests with job orchestration require a Go client for
    interacting with the GQL API.
    
    ## Solution
    
    This PR generates a Go SDK using
    [genqlient](https://github.com/Khan/genqlient) and exposes it via a
    `Client` interface defined at `integration-tests/web/sdk`.
    MStreet3 authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    5e33b2f View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    a1bdf08 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. fix release CI ccip reference (#1340)

    ## Motivation
    Due to a bad main repo merge, the CI was reverted back to it's non-CCIP
    state.
    
    ## Solution
    Use the code that was in the repo at the time of the 1.4 release
    RensR authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    6ac05d7 View commit details
    Browse the repository at this point in the history
  2. Add deployment tests in ci (#1337)

    ## Motivation
    Use new ccip tests designed with deployment in CI 
    
    ## Solution
    
    ---------
    
    Co-authored-by: Makram <[email protected]>
    AnieeG and makramkd authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    6d162c0 View commit details
    Browse the repository at this point in the history
  3. Report all prices from Jobspec (#1275)

    Fetch all the token prices in the jobspec for dest tokens
    0xnogo authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    a152bc3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9f7226a View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. add tag trigger to prettier and lint (#1347)

    Somehow the change detection only works in the PR and not when the
    commit is completed
    
    commit after merge, no changes detected
    See
    https://github.com/smartcontractkit/ccip/actions/runs/10505474734/job/29103119475
    
    vs 
    
    PR CI run, changes detected, same PR
    
    https://github.com/smartcontractkit/ccip/actions/runs/10492439900/job/29063984093?pr=1341
    RensR authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2244d99 View commit details
    Browse the repository at this point in the history
  2. [CCIP-2611]: cherry-pick OTI head reports (#1302)

    Cherry-pick OTI head report 
    
    smartcontractkit/chainlink@a41b353
    smartcontractkit/chainlink@633eb41
    
    ---------
    
    Co-authored-by: Jordan Krage <[email protected]>
    Co-authored-by: Lukasz <[email protected]>
    3 people authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2ccaee8 View commit details
    Browse the repository at this point in the history
  3. Remove old integration tests for v1.6 (#1346)

    To fully rely on integration-tests/deployment/ccip
    asoliman92 authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d6a5f16 View commit details
    Browse the repository at this point in the history
  4. feat: PriceRegistry conforms to keystone interface (#1208)

    Depends on : smartcontractkit/chainlink#13878
    
    ## Motivation
    The price registry needs to conform to the KeystoneFeedsConsumer
    interface in order to receive keystone price feed updates.
    
    ## Solution
    
    Implemented Keystones `IReciever` interface `onReport` function to
    handle the following report type
    
    ```
    struct ReceivedFeedReport {
        address Token;
        uint224 Price;
        uint32 Timestamp;
    }
    ```
    
    and storing the reported fee in `Internal.TimestampedPackedUint224` for
    `s_usdPerToken` mapping
    
    ---------
    
    Signed-off-by: 0xsuryansh <[email protected]>
    0xsuryansh authored Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8ddbe66 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. CODEOWNERS: ccip offchain as codeowners of capabilities (#1285)

    ## Motivation
    
    
    ## Solution
    
    Co-authored-by: Rens Rooimans <[email protected]>
    makramkd and RensR authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    90f64c0 View commit details
    Browse the repository at this point in the history
  2. fix: CCIP-3095 fix flaky test assertions in offramp tests (#1357)

    ## Motivation
    fix: CCIP-3095 fix flaky test assertions in offramp tests
    
    Few unit tests were still asserting on `gasUsed` in
    `ExecutionStateChanged` event emitted by offramp contract while
    executing messages in the report.
    
    ## Solution
    use assertion helper function to assert the ExecutionStateChanged Event
    indexed topics and chosen fields of event data
    defistar authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    12474b4 View commit details
    Browse the repository at this point in the history
  3. Comments cleanup (#1343)

    ## Motivation
    
    The goal of this PR is to cleanup comments.
    
    ## Solution
    
    Update/remove stale comments, fix typos and standardize comments style.
    
    Additional fixes:
    
    - Consistent use of named return variables
    - ~~Reordering of add/remove operations (add + remove -> remove + add)
    for the following functions in the `PriceRegistry`:~~
      - ~~`applyTokenTransferFeeConfigUpdates`~~
      - ~~`applyFeeTokensUpdates`~~
    
    ---------
    
    Co-authored-by: Evaldas Latoškinas <[email protected]>
    RayXpub and elatoskinas authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    7d29c2e View commit details
    Browse the repository at this point in the history
  4. RMN home & remote contracts (#1308)

    Co-authored-by: Ryan Hall <[email protected]>
    gtklocker and RyanRHall authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    e9e71f5 View commit details
    Browse the repository at this point in the history
  5. Initialize reader configs when module loads. (#1353)

    ## Motivation
    
    Ensure the `mustGetMethodName` and `mustGetEventName` functions are
    called as early as possible.
    
    ## Solution
    
    Change config functions to be variables, this way they should evaluate
    as the module loads rather than when the CCIP Reader object is
    initialized.
    winder authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    bbc0554 View commit details
    Browse the repository at this point in the history
  6. Use Finality Tag for Astar (#1329)

    ## Motivation
    following the [cherry pick for astar custom finaility from chainlink
    repo](#1324), need to
    enable it for astar
    
    ## Solution
    
    ---------
    
    Co-authored-by: Finley Decker <[email protected]>
    Co-authored-by: Balamurali Gopalswami <[email protected]>
    3 people authored Aug 23, 2024
    Configuration menu
    Copy the full SHA
    876b868 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. CRIB-317 - update ctf version (#1352)

    ## Motivation
    
    Take advantage of the kyverno cleanup logic from
    https://github.com/smartcontractkit/chainlink-testing-framework/releases/tag/v1.34.5
    
    ## Solution
    rafaelfelix authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    d56db81 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    74a6b00 View commit details
    Browse the repository at this point in the history
  3. fix ping pong version (#1363)

    ## Motivation
    The version should have been bumped to 1.5.0 with the previous release
    as changes had been made since 1.2.0
    
    ## Solution
    Bump the version
    RensR authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    c5f2a99 View commit details
    Browse the repository at this point in the history
  4. go mod tidy (#1364)

    RensR authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    757cbf3 View commit details
    Browse the repository at this point in the history
  5. Port v1.5 fixes to v1.6 (#1286)

    ## Motivation
    Porting the fixes done in
    #1212
    
    1. Add ~~uint32~~ `bytes destExecData` to the `struct RampTokenAmount`
    to allow us to send the amount we billed on source to dest
    2. removed `defaultTokenDestBytesOverhead` and used
    `CCIP_LOCK_OR_BURN_V1_RET_BYTES` as default value
    
    ---------
    
    Signed-off-by: 0xsuryansh <[email protected]>
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    c638767 View commit details
    Browse the repository at this point in the history
  6. Chore: Change metis config (#1345)

    ## Motivation
    
    
    ## Solution
    stackman27 authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    ca8fa56 View commit details
    Browse the repository at this point in the history
  7. feat: Add support for parsing deployed 1.0 contracts which have no Ty…

    …peAndVersion (#1368)
    
    ## Motivation
    
    - 1.0.0 contracts have no TypeAndVersion however tooling validation
    expects a TypeAndVersion be set
    
    ## Solution
    
    - Return `Unknown 1.0.0` for contracts with an empty type and version
    string, implying that they are 1.0.0 deployed contracts
    polds authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    629c2a4 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. Configuration menu
    Copy the full SHA
    0189bd0 View commit details
    Browse the repository at this point in the history
  2. Bump chainlink-ccip to ccip-develop latest (#1371)

    Bump chainlink-ccip to latest commit of ccip-develop branch.
    ref:
    smartcontractkit/chainlink-ccip@11e3f17
    dimkouv authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    ad43c21 View commit details
    Browse the repository at this point in the history
  3. lowercase networkName (#1372)

    ## Motivation
    
    Load tests with different load config per chain is not working properly.
    
    ## Solution
    
    Debugged the issue and found that issue was with uppercase in network
    name.
    anirudhwarrier authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    f1d53f2 View commit details
    Browse the repository at this point in the history
  4. Rename PriceRegistry -> FeeQuoter (#1350)

    Rename the PriceRegistry to FeeQuoter. 
    
    This PR restores the 1.2 PriceRegistry interface which is still used for
    CCIP 1.5. The FeeQuoter is a superset of that interface, which is why
    all tests can use the feeQuoter, even in 1.5.
    
    
    This PR does NOT claim to rename all offchain instances. It only handles
    onchain and wrapper/mock based references
    RensR authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    fd63fe3 View commit details
    Browse the repository at this point in the history
  5. added custom treasure fatal error (#1354)

    ## Motivation
    
    
    ## Solution
    amaechiokolobi authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    1652400 View commit details
    Browse the repository at this point in the history
  6. fix client comp workflow - image name (#1374)

    ## Motivation
    
    CCIP Compatibility Test failing on CI
    
    
    ## Solution
    
    Fix incorrect ECR repo name in github workflow
    anirudhwarrier authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    bc7e5a2 View commit details
    Browse the repository at this point in the history
  7. core/capabilities/ccip: update ccipreader test (#1373)

    ## Motivation
    
    We want to add a test for GetExpectedNextSequenceNumber in
    ccipreader_test.go
    
    Related PR: smartcontractkit/chainlink-ccip#81
    
    ## Solution
    
    Add a test for GetExpectedNextSequenceNumber in ccipreader_test.go
    makramkd authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    b8dcb90 View commit details
    Browse the repository at this point in the history
  8. feat: emit msghash with offramp (#1370)

    ## Motivation
    RMN checks the full hash of the message. However, hash(Any2EVMMessage)
    != Any2EVMMessage.header.messageId .
    
    ## Solution
    emit `messageHash` along with `ExecutionStateChanged` event
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Co-authored-by: Rens Rooimans <[email protected]>
    3 people authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    00ace85 View commit details
    Browse the repository at this point in the history
  9. Multi-Mechanism USDC Token Pools (#1280)

    ## Motivation
    
    Currently all USDC token transfers occur using Burn/Mint with calls to
    Circle's CCTP system for cross-chain transfers. Certain chains in CCIP
    have non-canonical USDC deployed and want to integrate the ability to
    use CCIP as a canonical bridge whereby canonical-USDC is locked on the
    source-chain and then minted on the destination chain. Then at a later
    date, when circle decides to add that chain to CCTP, the non-canonical
    USDC will be converted into canonical by burning the locked-tokens on
    the source-chain. To accomplish this, the token pool needs to be capable
    of identifying when tokens should be burned/minted with CCTP, or if they
    should use regular lock-release, and act accordingly.
    
    ## Solution
    
    `USDCTokenPool.sol` was been modified into a new file to allow for two
    different mechanisms to be used simultaneously. The primary mechanism,
    which is opt-out, and the secondary-mechanism which is opt in. These
    mechanisms are configured on a per-chain-selector basis, and must be
    manually enabled. In this implementation CCTP is the primary mechanism,
    and Lock/Release is the alternative mechanism.
    
    There are two new files
    1. `HybridLockReleaseUSDCTokenPool.sol`, The actual implementation of
    the hybrid pool structure.
    3. `USDCBridgeMigrator.sol`, which contains the logic necessary to
    conform to [Circle's migration policy
    guide](https://github.com/circlefin/stablecoin-evm/blob/master/doc/bridged_USDC_standard.md#transferring-the-roles-to-circle)
    jhweintraub authored Aug 27, 2024
    Configuration menu
    Copy the full SHA
    8d54185 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Configuration menu
    Copy the full SHA
    d2177fd View commit details
    Browse the repository at this point in the history
  2. feat: CCIP-3020 Add AllowList Config struct and implementation (#1335)

    ## Motivation
    
    The key objective of allowlisting senders is to restrict the senders
    (EOA or smart contract) that can send CCIP Messages from a given
    blockchain to a specified destination blockchain.
    
    While acknowledging this additional check may come with gas cost, we aim
    to achieve this objective with minimal gas cost increments.
    
    ### Requirements
    The CCIP OnRamp contract must be able to allow only specific senders
    (EOA or smart contract), identified by address, to send CCIP messages to
    a specific destination blockchain, identified by
    destinationChainSelector.
    
    CCIP messages for a specific destination blockchain for which the sender
    is not included in the allowlist must be rejected. A proper error must
    be returned.
    
    It should be possible to activate/deactivate the allowlist capability of
    an OnRamp for a given destination chain. Options include:
    
    - A flag that enables/disables allowlisting capability
    - The selected approach should consider gas cost, clarity and
    simplicity.
    
    Only a designed entity must be able to update the allowlist
    configuration. By default this is CCIP Owner, but it must be possible
    for CCIP Owner to also add a third party (i.e. AllowListAdmin) to have
    this privilege.
    
    
    ## Solution
    
    - Add new properties to DestChainConfig Struct 
    ```js
      /// @dev Struct to hold the configs for a destination chain
      /// @dev sequenceNumber, allowListEnabled, router will all be packed in 1 slot
      struct DestChainConfig {
        // The last used sequence number. This is zero in the case where no messages have yet been sent.
        // 0 is not a valid sequence number for any real transaction.
        uint64 sequenceNumber;
        // boolean indicator to specify if allowList check is enabled
        bool allowListEnabled;
        // This is the local router address that is allowed to send messages to the destination chain.
        // This is NOT the receiving router address on the destination chain.
        IRouter router;
        // This is the list of addresses allowed to send messages from onRamp
        EnumerableSet.AddressSet allowedSendersList;
      }
    ```
    
    - functions to applyAllowList
    
    ```js
    function applyAllowListUpdates(AllowListConfigArgs[] calldata allowListConfigArgsItems) external {
    ```
    
    - a struct to hold the applyAllowList Information
    
    ```js
      struct AllowListConfigArgs {
        uint64 destChainSelector; // Destination chain selector
        bool allowListEnabled; // indicator to check if the allowedSendersList is enabled
        address[] addedAllowlistedSenders; // list of senders to be added to the allowedSendersList
        address[] removedAllowlistedSenders; // list of senders to be removed from the allowedSendersList
      }
    ```
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    3a62686 View commit details
    Browse the repository at this point in the history
  3. Use tests.WaitTimeout for CCIPReader e2e tests (#1382)

    We've noticed that this tests have failed a few times on the CI.
    
    I've run the tests with `go test ./... -count 100 -failfast` and it
    never failed locally.
    I assume it runs slow in CI that's why we have some failing cases, I am
    replacing `10s` with `tests.WaitTimeout(t)`.
    dimkouv authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    a3f61f7 View commit details
    Browse the repository at this point in the history
  4. replace contains with equals (#1385)

    ## Motivation
    
    When simulating slow load on testnet, the load gen was getting applied
    to multiple networks.
    
    
    ## Solution
    
    Replace contains check with EqualFold. Also add some logs to make it
    easier to understand.
    anirudhwarrier authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    6fe155b View commit details
    Browse the repository at this point in the history
  5. bump anvil version used in load tests (#1386)

    ## Motivation
    
    During load tests, when anvil node restarts, block history is lost.
    Identified this to be a bug in the pinned version of anvil.
    
    
    ## Solution
    
    Bump anvil version to latest nightly.
    anirudhwarrier authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    8572a7a View commit details
    Browse the repository at this point in the history
  6. [TT-1396] [CCIP-2804] Migrate CCIP to test secrets (#1189)

    We're updating how we manage test secrets on GitHub CI to enhance
    security. Instead of passing secrets like the Chainlink image name or
    wallet key through secrets.toml, we will now load them from the
    `~/.testsecrets file in your home directory. This change helps us handle
    secrets more securely.
    
    To set test secrets, see instructions
    integration-tests/ccip-tests/testconfig/examples/.testsecrets.example
    
    ---
    
    TODO: 
    - [x] @kalverra  Run tests locally and see if all works fine
    - [ ] @kalverra Run all CI workflows and see if it all works fine 
    - [x] @kalverra Update all documentation (docs in this repo are already
    updated by lukaszcl)
    - [x] @kalverra Notify CCIP developers that this change will be merged
    soon
    - [x] @lukaszcl Merge CTF PR which is a dependecy here
    https://github.com/smartcontractkit/chainlink-testing-framework/pull/1028/files
    - [x] @lukaszcl Update all CI workflows for CCIP
    - [x] @lukaszcl Update setup-create-base64-config-ccip in all workflows
    to correctly use output
    - [x] @lukaszcl Allow CI workflows to run with custom test secrets
    ([guide how to run
    it](https://github.com/smartcontractkit/chainlink-testing-framework/blob/main/config/README.md#run-github-workflow-with-your-test-secrets))
    
    ---------
    
    Co-authored-by: Adam Hamrick <[email protected]>
    lukaszcl and kalverra authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    caa0304 View commit details
    Browse the repository at this point in the history
  7. core/capabilities/ccip: fix oracle startup logic (#1348)

    Ticket: https://smartcontract-it.atlassian.net/browse/CCIP-3078
    
    We can't start bootstrap oracles and plugin oracles on the same
    chainlink node. The main reason for this is that we have a singleton
    `SingletonPeerWrapper` object which manages all libocr peers for the
    application as a whole. Since this singleton only works with a single
    peer ID, it creates a single OCR peer, and all streams are created using
    this OCR peer. Since streams must have unique config digests for the
    same peer object, running a bootstrap oracle and a plugin oracle for the
    same config digest will fail because the stream will not be created.
    
    In order to remedy this we match what will be the case in production,
    which is:
    
    * Separate bootstrap node, with a peer ID that is either part of the OCR
    committee or not (most likely the latter, in order to avoid exporting /
    importing the P2P key from one node's DB to another). This bootstrap
    node will have to have a DNS name and be publicly accessible over the
    internet in order to be accessed by all nodes in the committee, at least
    initially, to facilitate peer discovery.
    * Plugin node that is more locked down, i.e no public DNS name required.
    
    To enable this, in this PR we:
    
    * Tweak the `launcher` component to launch bootstrap nodes only or
    plugin nodes only, and not both. This does NOT rely on the on-chain
    bootstrap P2P IDs that are set in the OCR config. This field will be
    removed in subsequent PRs.
    * Tweak the `OracleCreator` interface to support the above operation
    
    Follow ups:
    * Remove the `bootstrapP2PIds` field from the OCR config in
    CCIPConfig.sol
    makramkd authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    1659b95 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2024

  1. Update prod testnet config for Ethereum/Sepolia to have slower load f…

    …requency than other chains (#1339)
    
    ## Motivation
    
    
    ## Solution
    
    ---------
    
    Co-authored-by: Mateusz Sekara <[email protected]>
    AnieeG and mateusz-sekara authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    28ee41a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    181302f View commit details
    Browse the repository at this point in the history
  3. assert fees can be set to zero (#1380)

    Assert we would have the option to set any of the fee components to zero
    if we would want.
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    7c70148 View commit details
    Browse the repository at this point in the history
  4. Exposing image version in baseline.toml test (#1390)

    ## Motivation
    
    
    ## Solution
    mateusz-sekara authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    87b7119 View commit details
    Browse the repository at this point in the history
  5. [CCIP-2590] Transfer Data Availability costs to the DAGasEstimator (#…

    …1161)
    
    ## Motivation
    We use DAGasPriceEstimator to roughly estimate execution cost of a
    message in the Exec plugin.
    
    During this execution cost estimation, we need to account for the data
    availability component:
    
    
    ```
    type DAGasPriceEstimator struct {
        daOverheadGas       int64
        gasPerDAByte        int64  
        daMultiplier        int64
    }
    ```
    however, these fields are not used atm, they remain 0 during cost
    estimation. The challenge is they live in OnRamp.sol DynamicConfig,
    
    
    ```
    struct DynamicConfig {
        uint32 destDataAvailabilityOverheadGas; //    Extra data availability gas charged on top of the message, e.g. for OCR
        uint16 destGasPerDataAvailabilityByte; //     Amount of gas to charge per byte of message data that needs availability
        uint16 destDataAvailabilityMultiplierBps; //  Multiplier for data availability gas, multiples of bps, or 0.0001
    }
     ```
    
    We need to read them via the OnRamp reader and pass that into the DAGasPriceEstimator one way or another.
    ## Solution
    
    New service implemented to transfer onRamp config to offRamp/commit plugins. It provides weak dependency between plugins and provides actual data on demand.
    valerii-kabisov-cll authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    cfbe326 View commit details
    Browse the repository at this point in the history
  6. [TT-1326] Update Solidty Foundry pipeline with Slither (#13986)

    * More univeral lcov prunning
    
    * update Shared code cov
    
    * exclude deleted files from Slither
    
    * use single source of truth for all Solidity Foundry jobs
    
    * fix json
    
    * compact output with jq
    
    * fix condition for fmt
    
    * try to scope tests to changes
    
    * move matrix check to step level
    
    * fix outputs path
    
    * trigger
    
    * test with Automation change
    
    * try with shared
    
    * run fmt also if any sol files were modified
    
    * fix job name in collect metrics
    
    * trigger pipeline only for localised change + update changes info
    
    * add changeset
    
    * remove test change
    
    * do not run forge fmt if shared contracts have changed
    
    * try artifact pipeline by hijacking hardhat
    
    * # This is a combination of 2 commits.
    
    CR changes + test them
    
    use shell array
    
    * CR changes + test them
    
    use shell array
    
    init array
    
    CR changes + test them
    
    use shell array
    
    init array
    
    * remove test files
    
    * do not run Slither for test files
    
    * do not run fmt if test files were modified
    
    * remove unused config file
    
    * restore old Hardhat pipeline
    
    * add missing transmission setup
    
    * fix basic info condition, join 2 steps into 1, define higher-level coverage exclusions
    
    * define actions for installing Slither and solc-select
    
    * run all tests also if package.json changes; run them on all non_src changes
    
    * add action for validating whether all Slither reports and UML diagrams were generated
    
    * fetch origin in validation action
    
    * compare with HEAD in validate action
    
    * compare with origin in validation action
    
    * handle both csv and shell arrays in the validation action
    
    * update artifact pipeline with new actions
    
    * fix workflow after tests
    
    * fix how validation actions works with commits
    
    * treat shared as any other product
    
    * small fixes
    
    * apply CR changes
    
    * remove special handling for deleted files
    
    * remove apt-get update
    
    * use only dorny/paths
    
    * remove unused input
    
    * CR changes: use dorny/paths with quantifier, move scope validation to an action, remove whitespaces
    
    * fix workflow
    
    * fail bash scripts on erors
    
    * add set -euo pipefail to bash scripts
    
    * define action to detect foundry version
    
    * fix select solc version script, better slither report output
    
    * checkout repo
    
    * add id
    Tofel authored and RensR committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    af392bb View commit details
    Browse the repository at this point in the history
  7. add missing step id to action (#14088)

    * add missing step id
    
    * do not fail if Slither fails
    
    * try with not failing generation
    Tofel authored and RensR committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    c4dc7a5 View commit details
    Browse the repository at this point in the history
  8. Bump NPM and Forge dependencies (#14093)

    * bump npm
    
    * more npm
    
    * bump foundry dep
    
    * make snapshot
    
    * rm gas tests
    
    * fix change in gas cost
    
    * fix blockhash, this breaks the proof
    
    * Regenerated VRF proofs and fixed payment outputs in Foundry tests
    
    * Updated gas cost for LINK payments in unit tests
    
    * try with no coverage, exclude test files from Slither
    
    * add support for extra code coverage params
    
    * fix warnings and snapshot
    
    * changeset
    
    * fix codeowners
    
    * fix tests and bump foundry
    
    * add missing changes quantifier
    
    ---------
    
    Co-authored-by: Iva Brajer <[email protected]>
    Co-authored-by: Bartek Tofel <[email protected]>
    3 people committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    1cdeaef View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. pnpm i && snapshot && forge fmt

    RensR committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    5c0514f View commit details
    Browse the repository at this point in the history
  2. Put back previous cov

    RensR committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    54ef663 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a19214d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6bdc1dc View commit details
    Browse the repository at this point in the history
  5. Remove capabilities/ccip and integration-tests/deployment (#1399)

    All development should move to Chainlink repo. To do so make sure you
    have ccip repo as a remote to your git.
    
    1. cd chainlink/
    2. `git remote add ccipr
    [email protected]:smartcontractkit/ccip.git`
    3. `git fetch ccipr`
    4. `git checkout -b new-branch`
    5. `git cherry-pick old-feature-branch~X..old-feature-branch` #These are
    the first and last commit from your currently open PR in ccip.
    
    ---------
    
    Co-authored-by: AnieeG <[email protected]>
    asoliman92 and AnieeG authored Aug 30, 2024
    Configuration menu
    Copy the full SHA
    9952bca View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2024

  1. Consensus threshold to 2f+1 for zk overflow chains (#1313)

    Consensus threshold to 2f+1 for zk overflow chains
    0xnogo authored Sep 1, 2024
    Configuration menu
    Copy the full SHA
    c8c7d92 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. Merge tag 'v2.15.0' into 2.15-merge

    v2.15.0
    mateusz-sekara committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    43f261e View commit details
    Browse the repository at this point in the history
  2. Remove BASE64_NETWORK_CONFIG and use default test secrets instead (#1398

    )
    
    This PR eliminates the BASE64_NETWORK_CONFIG environment variable from
    E2E test workflows, replacing it with default test secrets from
    secrets.CCIP_DEFAULT_TEST_SECRETS GitHub Secret. Following the merge of
    this PR, secrets.BASE64_NETWORK_CONFIG will be removed.
    
    Content of `secrets.CCIP_DEFAULT_TEST_SECRETS` GitHub Secret can be
    found in `1Password->QA->CCIP_DEFAULT_TEST_SECRETS`.
    
    This was tested using ccip-live-network-tests.yml workflow -
    https://github.com/smartcontractkit/ccip/actions/runs/10628096213 🟢
    
    - [x] @b-gopalswami please do additional testing needed
    ([DONE](https://chainlink-core.slack.com/archives/C0361N0LJ6A/p1725037426281989?thread_ts=1725009288.027129&cid=C0361N0LJ6A))
    
    ---------
    
    Co-authored-by: Adam Hamrick <[email protected]>
    Co-authored-by: Anindita Ghosh <[email protected]>
    3 people authored Sep 2, 2024
    Configuration menu
    Copy the full SHA
    a793f34 View commit details
    Browse the repository at this point in the history
  3. Post merge fixes

    mateusz-sekara committed Sep 2, 2024
    Configuration menu
    Copy the full SHA
    f105b1b View commit details
    Browse the repository at this point in the history
  4. Merge f105b1b into a793f34

    mateusz-sekara authored Sep 2, 2024
    Configuration menu
    Copy the full SHA
    084cfec View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    66f42c9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    10ecf42 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. Misc golfs and fixes (#1402)

    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    a7f496c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9b8f33 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    554f7c7 View commit details
    Browse the repository at this point in the history
  4. 2.15 merge (#1401)

    Merging chainlink repository from `v2.15.0`
    RensR authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    b252cf1 View commit details
    Browse the repository at this point in the history
  5. bump CTF to v1.34.10 (#1406)

    ## Motivation
    
    
    ## Solution
    anirudhwarrier authored Sep 3, 2024
    Configuration menu
    Copy the full SHA
    3c694cb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e1577f6 View commit details
    Browse the repository at this point in the history
  7. Increase max signers (#1405)

    Improve tests and error checks
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    62ba1f0 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2024

  1. Configuration menu
    Copy the full SHA
    6ffa59d View commit details
    Browse the repository at this point in the history
  2. Skip report execution on curse (#1408)

    ## Motivation
    
    The goal of this PR is to remove reverts on lane cursing for DON
    execution transactions. If a lane is cursed, reverting will cause the
    whole execution transaction to fail so any execution reports for other
    lanes will be blocked.
    
    ## Solution
    
    For DON execution transactions the behavior is now to skip the report
    and emit a `SkippedReportExecution`. For manual execution we still
    revert, otherwise the transaction will silently fail for the users.
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    17ce920 View commit details
    Browse the repository at this point in the history
  3. remove bootstrapP2PIds (#1388)

    ## Motivation
    
    Bootstrap P2P IDs are no longer needed in the OCR config in CCIPConfig.
    See #1348's description for more details.
    
    ## Solution
    
    Remove bootstrap P2P IDs from the OCR config in CCIPConfig.
    
    ## Related PRs
    smartcontractkit/chainlink-ccip#89
    makramkd authored Sep 4, 2024
    Configuration menu
    Copy the full SHA
    137712f View commit details
    Browse the repository at this point in the history
  4. Integrate RMNRemote and OffRamp (#1360)

    ## Motivation
    Remove the requirement for self-transmitted RMN blessings
    
    ## Solution
    Allow the commit DON to include RMN blessings at commitment time
    This PR has a dependency on changes to
    [chainlink-ccip](smartcontractkit/chainlink-ccip#84)
    
    ---------
    
    Co-authored-by: Makram <[email protected]>
    RyanRHall and makramkd authored Sep 4, 2024
    Configuration menu
    Copy the full SHA
    d2c51be View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. contracts/scripts: reduce offramp optimizations (#1414)

    ## Motivation
    
    The offramp was failing to deploy due to too many optimizations causing
    a max code size exceeded error.
    
    ## Solution
    
    Reduce the number of optimizations by 1.
    
    Also, add a test that deploys v1.6 contracts and ensures that they are
    deployable on the simulated backend.
    makramkd authored Sep 5, 2024
    Configuration menu
    Copy the full SHA
    53057b1 View commit details
    Browse the repository at this point in the history
  2. Add report vs message source chain selector check (#1413)

    ## Motivation
    The goal of this PR is to add an extra check in the execute function to
    enforce that the report source chain selector matches its messages
    source chain selector. Extra gas cost is about 50 gas per message.
    
    ## Solution
    Revert when `report.sourceChainSelector !=
    (message.header.sourceChainSelector`
    RayXpub authored Sep 5, 2024
    Configuration menu
    Copy the full SHA
    01c503f View commit details
    Browse the repository at this point in the history
  3. Update prod testnet config with 1.5 RMN contract (#1412)

    ## Motivation
    RMN contract details needs to be updated in prod tesnet config to make
    test assertions work.
    https://smartcontract-it.atlassian.net/browse/CCIP-3164
    
    ## Solution
    Update latest 1.5 RMN contract details in the prod testnet config and
    cleanup unwanted network details.
    b-gopalswami authored Sep 5, 2024
    Configuration menu
    Copy the full SHA
    d389c1d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    95ffd86 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Enforce signature verification for commit plugin in OffRamp (#1416)

    ## Motivation
    
    The goal of this PR is to implement a check to ensure that the OCR3
    signature verification is enabled for the commit plugin on config. This
    reduces misconfig risks and impact because previously an accidental
    setting of `isSignatureVerificationEnabled=false` for the commit plugin
    in the `OffRamp` would have required a redeploy to be fixed.
    
    ## Solution
    
    Add a check enforcing `isSignatureVerificationEnabled=false` for the
    commit plugin in `_afterOC3Config`.
    RayXpub authored Sep 9, 2024
    Configuration menu
    Copy the full SHA
    53a8491 View commit details
    Browse the repository at this point in the history
  2. Revert "reorder fields in MerkleRoot struct" (#1417)

    ## Motivation
    Avoid forcing breaking changes on RMN nodes
    
    ## Solution
    This reverts commit da570c5.
    RyanRHall authored Sep 9, 2024
    Configuration menu
    Copy the full SHA
    8e883b0 View commit details
    Browse the repository at this point in the history
  3. CCIP-2824: Adding reorg test (#1379)

    ## Motivation
    Test around reorg is not available in CCIP which let the bug (caching
    the block timestamp which got reorged) in mainnet.
    
    ## Solution
    Add unit level test which can identify the caching problem.
    Add E2E test to assess CCIP behaviour when above and below finality
    reorg happens.
    
    ---------
    
    Co-authored-by: Mateusz Sekara <[email protected]>
    b-gopalswami and mateusz-sekara authored Sep 9, 2024
    Configuration menu
    Copy the full SHA
    d48e3c0 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. Implement getTotalChainConfigurations (#1419)

    ## Motivation
    The goal of this PR is to add a getter function to the `CCIPConfig`
    contract to fetch the total number of chains configured. This value is
    necessary to correctly call `getAllChainConfigs` and previously, the
    only way to access it was through events.
    
    ## Solution
    Implement `getTotalChainConfigurations`.
    RayXpub authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    31a15dd View commit details
    Browse the repository at this point in the history
  2. Add sanity check in applyAllowListUpdates (#1420)

    ## Motivation
    Currently, in the event of a misconfig where a destination chain's
    `AllowListConfigArgs` `allowListEnabled` is set to false while providing
    addresses to add to the allow list, the config will silently be skipped.
    
    ## Solution
    Add a sanity check to detect `!allowListConfigArgs.allowListEnabled &&
    `allowListConfigArgs.addedAllowlistedSenders.length > 0`
    RayXpub authored Sep 10, 2024
    Configuration menu
    Copy the full SHA
    884e5b6 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Miscellaneous fixes and cleanups (#1421)

    ## Motivation
    
    The goal of this PR is to fix several miscellaneous items.
    
    ## Solution
    
    - Replaces some magic numbers with constants
    - Default to `private` visibility for state variables that are not used
    in test helpers
    - Standardizes some natspec tags (consistent use of `@dev` instead of
    `@notice` for state variables)
    - Add a `ConfigSet` event in `CCIPConfig`
    - Asserts full equality of `OCRConfigWithMeta[]` in `CCIPConfigTests`
    - Add clarifying comments in `NonceManager` `applyPreviousRampsUpdates`
    RayXpub authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    f550bb4 View commit details
    Browse the repository at this point in the history
  2. Fix RPCClient Deadlock on Unsubscribe and NewHead (#14236) (#1426)

    Cherry-pick of smartcontractkit/chainlink#14236
    
    ---------
    
    Co-authored-by: Dmytro Haidashenko <[email protected]>
    0xnogo and dhaidashenko authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    fc50683 View commit details
    Browse the repository at this point in the history
  3. CCIP-2815 commit report event updates (#1407)

    ## Motivation
    
    OffRamp contract emits commitReport event as a Struct
    to make the event Log filtering and searching more optimized, the report
    properties are emitted as a event fields rather than emitting the struct
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    fd212e6 View commit details
    Browse the repository at this point in the history
  4. GasLimitOverride for manuallyExecute (#1375)

    ## Motivation
    1. OffRamp should now use destExecData to extract the gas used for 
    2. Manual execution should enable user to override the gas amount for
    releaseOrMint per token.
    
    ## Solution
    1. Removed int32 `maxTokenTransferGas` & `maxPoolReleaseOrMintGas` and
    used the gas encoded in `RampTokenAmount.destExecData`
    2. add a new Struct which holds the receiverExecutionGasLimit and
    transferGasAmounts
    ```
    struct GasLimitOverride {
        uint256 receiverExecutionGasLimit;
        uint256[] tokenGasOverrides;
    }
    ```
    tokenGasOverrides is an array of GasLimits to be used during the
    relaseOrMint call for the specific tokenPool associated with token
    
    Note: 
    The gas limit can not be lowered as that could cause the message to
    fail. If manual execution is done from an UNTOUCHED state and we would
    allow lower gas limit, anyone could grief by executing the message with
    lower gas limit than the DON would have used. This results in the
    message being marked FAILURE and the DON would not attempt it with the
    correct gas limit.
    
    for the above we have kept a check that `tokenGasOverrides` < gas
    encoded in `RampTokenAmount.destExecData`
    
    ---------
    
    Signed-off-by: 0xsuryansh <[email protected]>
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    49fde28 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Change data feeds from default to fallback in FeeQuoter (#1430)

    ## Motivation
    Due to the gas cost of reading from data feeds, it is unlikely to be the
    default option, we can therefore optimize the `getTokenPrice()` function
    by defaulting to state instead of data feeds.
    
    ## Solution
    Default to state reported prices and only fall back on data feed
    external call if the reported prices are stale.
    RayXpub authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    7ba1e75 View commit details
    Browse the repository at this point in the history
  2. Zp/update mockrouter (#1427)

    Specifically, allow for empty message with zero gas.
    
    ## Motivation
    EVM2EVMOffRamp checks the message for content and gaslimit and skips
    calling ccip receive if they're not present.
    Consequently the mock errors (ReceiverError) when sending only tokens to
    a smart contract. This update will help chainlink-local correctly
    process fork-based tests too.
    
    ## Solution
    The MockRouter implementation of _routeMessage was last updated in
    #669 and is out of sync
    with the logic in EVM2EVMOffRamp.
    zeuslawyer authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    71be1a7 View commit details
    Browse the repository at this point in the history
  3. Hybrid Token Pools: Remove problematic liquidity functions and add in…

    …coming supply lock (#1396)
    
    ## Motivation
    
    Minor Changes to the HybridLockReleaseTokenPool to better meet Circle's
    bridge requirements
    
    1. Add additional supply lock on incoming messages when a proposal has
    been created. I.E When a proposal for a chain selector is active, new
    tokens cannot be released or locked to ensure better security control on
    the destination-chain's token supply.
    2. `withdrawLiquidity()` and `transferLiqudity()` have been removed to
    avoid issues with the supply lock. Allowing for withdrawing liquidity
    that has been provided would allow for the supply on the destination
    chain to be greater than the locked amount on the source chain,
    preventing a successful migration from occuring.
    
    3. Comment fixes for invariants
    jhweintraub authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    3d54dfb View commit details
    Browse the repository at this point in the history
  4. Make onRamp mutable in OffRamp (#1422)

    ## Motivation
    The goal of this PR is to reduce the misconfig risk on the `OffRamp`
    with the `onRamp` address. Currently, if we accidentally configure the
    wrong `onRamp` address on an existing `OffRamp`, the fix would involve a
    full redeployment + reconfig.
    
    ## Solution
    
    - Make the `onRamp` mutable in the `OffRamp`.
    - Add `onRamp` address verification in the `commit()` function
    - Only allow `onRamp` address modification when `minSeqNr == 1`
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    f880d4e View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. update offramp layout (#1434)

    ## Motivation
    Some header are outdated. 
    
    The exec logic is above the commit logic, but then after the commit
    logic we have the token handling logic, which is only used for exec. It
    has been moved to be above the commit logic
    RensR authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    ba47d7d View commit details
    Browse the repository at this point in the history
  2. add CCIPEncodingUtils contract and gethwrapper (#1429)

    ## Motivation
    I encountered a scenario w/ RMN where offchain needs to abi.encode a
    [struct](https://github.com/smartcontractkit/ccip/blob/fc50683640bcfd73f0074d791fbaf7cdb6b29c71/contracts/src/v0.8/ccip/rmn/RMNRemote.sol#L90:L97)
    that is not included in any public contract functions (as input param or
    return value) and so it is not a part of the ABI or the go wrapper.
    Offchain is currently doing a manual encoding by re-defining the type,
    which I usually try to avoid at all costs. In the past, we've used a
    Utils contract ([ex
    here](https://github.com/smartcontractkit/chainlink/blob/develop/contracts/src/v0.8/automation/AutomationCompatibleUtils.sol)
    from automation) to expose all private structs in public functions so
    that offchain components can use E2E type safety when encoding /
    decoding.
    
    ## Solution
    Create a `CCIPEncodingUtils` contract and accompanying gethwrapper
    RyanRHall authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    f169c88 View commit details
    Browse the repository at this point in the history
  3. Remove TODO and rename messageValidator to messageInterceptor (#1438)

    - Replaces `CCIPConfigTypes.ConfigState` `/// TODO: explain rollbacks?`
    by rollbacks comment
    - Renames `messageValidator` to `messageInterceptor` in ramps
    
    ---------
    
    Co-authored-by: Rens Rooimans <[email protected]>
    RayXpub and RensR authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    bd417ed View commit details
    Browse the repository at this point in the history
  4. update diagram (#1439)

    RensR authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    1cc98db View commit details
    Browse the repository at this point in the history
  5. Make forwardFromRouter non reentrant (#1437)

    ## Motivation
    Currently the `OnRamp` performs 3 separate calls to the `FeeQuoter` on
    the hot path, including 2 in the `forwardFromRouter` function:
    
    1. `getValidatedFee`
    2. `processMessageArgs`
    3. `processPoolReturnData`
    
    This is done to follow the CEI pattern and guard against reentrancy due
    to the untrusted calls to the pools. This is not optimal for gas but it
    also makes contract interactions more complex.
    
    ## Solution
    
    Implement a non reentrant flag and reorder the `forwardFromRouter`
    function layout. The calls to the pools are now performed first, relying
    on the reentrancy protection. We reduce the `FeeQuoter` calls in
    `forwardFromRouter` to a single `processMessageArgs` call.
    
    ## Notes
    
    Optimizer runs had to be decreased due to contract size which is why gas
    diffs are showing a gas increase. At equivalent runs diffs are:
    ```
    test_ForwardFromRouterExtraArgsV2_Success() (gas: -65 (-0.045%))
    test_ForwardFromRouterSuccessLegacyExtraArgs() (gas: -65 (-0.045%))
    test_ForwardFromRouterSuccessCustomExtraArgs() (gas: -65 (-0.045%))
    test_ForwardFromRouter_Success() (gas: -65 (-0.045%))
    test_ForwardFromRouterSuccessEmptyExtraArgs() (gas: -66 (-0.046%))
    test_ForwardFromRouterExtraArgsV2AllowOutOfOrderTrue_Success() (gas: -65 (-0.057%))
    test_forwardFromRouter_WithValidation_Success() (gas: 318 (0.113%))
    test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: -1139 (-0.074%))
    ```
    RayXpub authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    a847f78 View commit details
    Browse the repository at this point in the history
  6. Standardize message hashing functions (#1424)

    ## Motivation
    The goal of this PR is to standardize the message hashing functions.
    Currently we have equivalent but inconsistent message hashing functions:
    ```solidity
    function _hash(Any2EVMRampMessage memory original, bytes memory onRamp) internal pure returns (bytes32)
    ```
    and 
    ```solidity
    function _hash(EVM2AnyRampMessage memory original, bytes32 metadataHash) internal pure returns (bytes32)
    ```
    
    ## Solution
    Standardize to `function _hash(message, metadataHash)` and consistently
    encode dynamic fields.
    
    ---------
    
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Configuration menu
    Copy the full SHA
    65f31a8 View commit details
    Browse the repository at this point in the history
  7. Validate transmitter lengths against F values (#1432)

    ## Motivation
    Improves validations for OCR3 and CCIPConfig contracts
    
    ## Solution
    Covers validations:
    * `fChain <= F`, since `F` represents the full role DON
    * Allows setting empty transmitters in CCIPConfig to allow
    `len(transmitters) <= len(signers)`, while still enforcing
    `len(transmitters) >= 3 * fChain + 1`
    * Validates non-zero transmitters length in MultiOCR3
    * Validates `len(signers) >= len(transmitters)` in MultiOCR3
    
    ### Tooling implications
    * When setting OCR configs on OffRamp contracts, the list from
    CCIPConfig must be filtered to exclude 0-bytes addresses. The reason for
    this is that the MultiOCR3Base disallows zero addresses and duplicates
    * Signer and transmitter duplication must be checked in tooling scripts
    off-chain prior to setting CCIPConfig (otherwise it will result in
    OffRamp breakage)
    * `chainConfigs` must be set before OCR3 configs due to the added
    `fChain == F` validation
    * If `fChain` becomes higher than `F` after updates, existing OCR3
    configs get invalidated without an on-chain check (since it is difficult
    to do). There should be an off-chain validation script that prevents
    this (first, F should be increased for all configs, only after which
    fChain can be increased)
    * `OffRamp` transmitters.length should be validated such that it meets
    the `3 * fChain + 1` criteria off-chain, since `fChain` is not tracked
    in the `OffRamp`
    
    
    ### Gas
    | Function Name | min | avg | median | max | # calls |
    
    |---------------------------------------------------------------------------|-----------------|--------|--------|---------|---------|
    | validateConfig (without loop check) | 7040 | 20701 | 8436 | 122591 |
    11 |
    | validateConfig (with loop check) | 7040 | 21006 | 9132 | 123442 | 11 |
    elatoskinas authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    258959a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ef3e366 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Update CTF deps (#1442)

    skudasov authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    f8d2f98 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. CCIP-3407: Add release testing configs (#1436)

    ## Motivation
    Need to add default configs that are usually used for release testing in
    beta-testnet or prod-testnet.
    https://smartcontract-it.atlassian.net/browse/CCIP-3407
    
    ## Solution
    Have segregated and generalized the configs for release testing however
    this might need changes depends on the releases.
    b-gopalswami authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    1eba056 View commit details
    Browse the repository at this point in the history
  2. Enables Out of Order Execution for E2E Tests (#1393)

    ZK chains introduce the need to send CCIP messages out of order. This
    change enables us to do so at will in our E2E tests.
    
    ---------
    
    Co-authored-by: Balamurali Gopalswami <[email protected]>
    kalverra and b-gopalswami authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    7728bfa View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. Productionize RMN remote contract (#1431)

    ## Background
    [Original PR](#1308) -
    there is some discussion here that is possibly still relevant)
    [Open PR to add
    cursing](#1400) - I copied
    the relevant parts for the `RMNRemote`.
    
    Note: we are intentionally separating `RMNRemote` and `RMNHome` since
    they have different timelines.
    
    ## Motivation
    Productionize the RMNRemote and include it in integration tests
    
    ---------
    
    Co-authored-by: Makram <[email protected]>
    RyanRHall and makramkd authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    f95dce6 View commit details
    Browse the repository at this point in the history
  2. Add RMN_V1_6_ANY2EVM_REPORT to RMNRemote and make public (#1447)

    ## Motivation
    
    #1431 (comment)
    
    ## Solution
    Expose the constant as public
    RyanRHall authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    0a2d960 View commit details
    Browse the repository at this point in the history
  3. CCIP-3445: Update 1.5 RMN contract address (#1448)

    ## Motivation
    RMN contract is updated to 1.5 version. Need to update in config.
    
    ## Solution
    Update config with latest 1.5 RMN contract address and remove unwanted
    secondary config.
    b-gopalswami authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    b08c4be View commit details
    Browse the repository at this point in the history
  4. CCIP-3420: Fix IsRequestTriggeredWithinTimeframe (#1445)

    ## Motivation
    The prior approach to find if there is traffic in a lane was not
    detecting the transactions properly. It could be due to the
    `CCIPSendRequestedWatcher` captures the event after it is initiated not
    any transaction before that.
    
    ## Solution
    The revised approach is to use the FilterCCIPSendRequested by a past
    derived block number and see if there is any traffic. The block number
    is derived by this formula:
    `filterFromBlock = latestBlockNumber -
    (SkipRequestIfAnotherRequestTriggeredWithin/avgBlockTime)`
    By this approach, we will be able to find traffic better.
    
    https://smartcontract-it.atlassian.net/browse/CCIP-3420
    b-gopalswami authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    f1adcc2 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Gas limit estimation feature (#14041)

    * Added gas limit estimation feature to EVM gas estimators
    
    * Added changeset
    
    * Fixed linting
    
    * Added new failure tests
    
    * Fixed test
    
    * Fixed mock configs in ccip capabilities
    
    * Fixed configs
    
    * Fixed test
    
    * Refactored GetFee method
    
    * Added EstimatedGasBuffer and addressed feedback
    
    * Fixed linting
    
    * Fixed config doc and tests
    
    * Addressed feedback
    
    * Fixed typo
    
    * Repurposed LimitMultiplier to be used as a buffer for estimated gas
    
    * Updated mocks
    
    * Removed LimitMultiplier if gas estimation fails and updated config docs
    
    * Fixed Broadcaster test
    
    * Enabled uncapped gas limit estimation if provided fee limit is 0
    
    * Updated estimate gas buffer to be a fixed value instead of using LimitMultiplier
    
    * Updated log message
    
    * Updated logs
    
    ---------
    
    Co-authored-by: Prashant Yadav <[email protected]>
    2 people authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    70c8599 View commit details
    Browse the repository at this point in the history
  2. Set From address for gas limit estimation feature (#14246)

    * Set from address for gas limit estimation
    
    * Updated tests
    
    * Added changeset
    amit-momin authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    0245db8 View commit details
    Browse the repository at this point in the history
  3. Update EstimateGasLimit config name to EstimateLimit (#14297)

    * Updated EstimateGasLimit config name to EstimateLimit
    
    * Updated mocks
    
    * Fixed linting
    
    * Updated changeset
    amit-momin authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    3f6ac83 View commit details
    Browse the repository at this point in the history
  4. Add Mantle errors (#14053)

    * Add Mantle errors
    
    * Add tests for Mantle errors
    
    * changeset
    
    * Update seven-kiwis-run.md
    DylanTinianov authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    a684f36 View commit details
    Browse the repository at this point in the history
  5. Changed Optimism L1 Oracle to support Mantle (#14160)

    * edited op stack oracle to include tokenRatio for Mantle
    
    * typo fix
    
    * fixed syntax errors
    
    * fixed compilation errors in test
    
    * added unit tests for Mantle oracle changes
    
    * typo fix
    
    * added changeset file
    
    * added hashtag to changeset
    
    * changed unit test to include new chaintype
    
    * changed test to include new chaintype
    
    * typo fix
    
    * addressed alphabetical order and error issues
    
    * used batch call instead of separate calls for L1 Base Fee
    
    * added test cases for RPC errors to Mantle
    ma33r authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    f40af80 View commit details
    Browse the repository at this point in the history
  6. Mantle use vanilla l1 oracle (#14471)

    * make Mantle use vanilla OP gas price oracle
    
    * changeset
    
    * bring back l1 oracle
    
    * update mock
    
    * [BCI-4072] changeset update
    
    ---------
    
    Co-authored-by: valerii.kabisov <[email protected]>
    Co-authored-by: Valerii Kabisov <[email protected]>
    3 people committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    047602a View commit details
    Browse the repository at this point in the history
  7. FeeHistory estimator (#13833)

    * Introduce universal estimator
    
    * Fixes
    
    * Use WeiMin to cap bump price
    
    * Update connectivity logic
    
    * Fix error
    
    * Fixes
    
    * Cover an edge case when enforcing limits
    
    * Add changeset
    
    * Update mempool check logic
    
    * Update config names
    
    * Convert Universal Estimator to service
    
    * Client changes to support UE
    
    * Introduce configs
    
    * Update mocks
    
    * Fix lint
    
    * Fix test cases
    
    * Fix mockery
    
    * Fix test cases
    
    * Update comment
    
    * Fix Start/Close sync issue
    
    * Address feedback
    
    * Fix lint
    
    * Fix lint
    
    * More changes
    
    * Add more comments
    
    * Fix merge conflicts
    
    * Update CONFIG
    
    * Rename to FeeHistory estimator
    
    * Rename
    
    * Exclude zero priced priority fees
    
    * Remove HasMempool
    
    * Remove testing commit
    
    * Fixes
    
    * Add DefaultJitter
    
    * Add optimizations
    
    * Fix testscripts
    
    * Fix name
    
    * Update error messages
    dimriou authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    19d25f8 View commit details
    Browse the repository at this point in the history
  8. Add node level OOC error (#14315)

    * Add node level OOC error
    
    * Add changeset
    friedemannf authored and matYang committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    97f6f55 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. update CONFIG.md (#1453)

    ## Motivation
    We want a functional CI
    
    ## Solution
    Fix CI issues from ccip-develop
    RyanRHall authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    2a08e17 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. merge FeePaid event into CCIPMessageSent (#1456)

    ## Motivation
    Not sure actually why this was needed. Request was [made
    here](https://smartcontract-it.atlassian.net/browse/CCIP-3446?atlOrigin=eyJpIjoiMTQ4ODMwNzU2N2I3NDI0NGE0ZDhiOTIyZTYwOTNjN2IiLCJwIjoiaiJ9).
    
    This is the 2nd version, that alters the MessageSent struct. First
    version [here](#1452).
    
    ## Solution
    Merge fields from FeePaid event into CCIPMessageSent event
    RyanRHall authored Sep 23, 2024
    Configuration menu
    Copy the full SHA
    c8753d1 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Change Polygon zkEVM to use FeeHistory estimator (#14161)

    * Change Polygon zkEVM to use SuggestedPriceEstimator
    
    (SHIP-2885)
    
    * Set PriceMin to 1mwei for Polygon zkEVM
    
    * Remove Polygon zkEVM Goerli
    
    * Enable FeeHistory estimator for Polygon zkEVM
    
    * Update PriceMin
    
    * apply suggestions
    
    * Set CacheTimeout to 2 seconds
    
    * Revert back to 5s cachetimeout
    
    * Change timeout to 4 seconds
    
    ---------
    
    Co-authored-by: joaoluisam <[email protected]>
    # Conflicts:
    #	docs/CONFIG.md
    friedemannf committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    94ab7f2 View commit details
    Browse the repository at this point in the history
  2. [CCIP-3376] Add component into CCIP price estimators to account for c… (

    #1446)
    
    [https://smartcontract-it.atlassian.net/browse/CCIP-3376](https://smartcontract-it.atlassian.net/browse/CCIP-3376)
    
    The CCIP gas limit is set by customers. This cannot be changed because
    this limit is directly used within the contracts (which expect limits in
    terms of ETH). Also, the L2 gas price returned from our current
    estimators for Mantle is in MNT. Therefore, the final formula needed for
    CCIP to calculate L2 transaction fees is the following:
    gasLimit_EVM * (gasPrice_Mantle * TokenRatio)
    Therefore, we need to multiply the gas price returned from our gas
    estimators by tokenRatio for CCIP. This should happen in the CCIP price
    estimator. Currently, we have no component here for chain-specific
    logic, so we will need to add this functionality.
    
    ---------
    
    Co-authored-by: Matt Yang <[email protected]>
    valerii-kabisov-cll and matYang authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    ebc7094 View commit details
    Browse the repository at this point in the history
  3. Add Zircuit Configs (#14541)

    * Add Zircuit Configs
    
    * Add Changeset
    
    * Update changeset
    friedemannf committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    d0c97c5 View commit details
    Browse the repository at this point in the history
  4. Regenerate CONFIG.md

    friedemannf committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    0f28999 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. Add RMNHomeAddress in the OCR3Config (#1449)

    Adding `rmnHomeAddress` in the `OCR3Config` struct + generated wrappers.
    0xnogo authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    75b4250 View commit details
    Browse the repository at this point in the history
  2. CRIB-359: ignoring problematic git tag breaking CRIB CCIP builds (#1463)

    ## Motivation
    Fix the following error when building CCIP for CRIB:
    
    ```
    build:app   • parsing tag
    build:app   ⨯ release failed after 0s                          error=failed to parse tag 'contracts-ccip/v1.5.0-beta.0' as semver: Invalid Semantic Version
    ```
    
    ## Solution
    Even though the best would be to ignore it based on the prefix
    `contracts-ccip`, that requires goreleaser-pro
    which is not currently available in the nix shell. We should add it in
    the long run, but this issue needs an immediate fix for now.
    rafaelfelix authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    3205f7a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    85eebef View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    79eeba4 View commit details
    Browse the repository at this point in the history
  5. bump chain-selectors (#1467)

    RensR authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    ce4cc58 View commit details
    Browse the repository at this point in the history
  6. Use Astar Chain Type (#1465)

    ## Motivation
    Set ChainType='astar' to use custom finality on mainnet
    
    ## Solution
    
    ---------
    
    Co-authored-by: simsonraj <[email protected]>
    flodesi and simsonraj authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    84691bd View commit details
    Browse the repository at this point in the history
  7. Update pragma to most restrictive dependency or feature (#1466)

    ## Motivation
    We have several contracts using `^0.8.0` but also custom errors, or a
    child contract with custom errors. We also have several contracts at
    `^0.8.0` but a dependency locked at `0.8.24`.
    
    ## Solution
    Update all pragmas to the pragma of the most restrictive dep or the
    minimum to enable custom errors (`0.8.4`)
    RyanRHall authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    390ee23 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. CCIP-3461: Optimize mainnet soak test (#1458)

    ### Motivation
    Optimize the resource and fund consumption of the mainnet soak test.
    Currently, the mainnet soak test runs every six hours in Kubernetes,
    executing one CCIP transaction per hour for a duration of five hours
    across 28 bidirectional lanes. This setup is designed to provide
    consistent observability data on the CCIP mainnet, allowing us to
    differentiate between service outages and quiet periods. However, these
    tests are inefficient, consuming Kubernetes resources and significant
    mainnet funds.
    
    https://smartcontract-it.atlassian.net/browse/CCIP-3461
    
    ### Ideas:
    
    Discussion
    [thread](https://chainlink-core.slack.com/archives/C02PBKHCP28/p1726678958525029)
    is initiated with o11y team and decided that it's not required to create
    txs for every hour instead create one tx if there are no activity for
    last 24h.
    Convert to smoke test as we are planning to fire only one request
    instead of Soak test.
    Converting to smoke will elevate the K8 resource consumption as the test
    will run using github runner.
    
    ### Solution
    
    - [x]  1. Modify the pipeline to run it as smoke test
    - [x]  2. Add traffic check to smoke test
    - [x] 3. Add new set of additional 21 lanes and resulted in total of 49
    lanes. (i.e 98 unique lanes)
    - [x]  5. Add RPCs, Wallet key for new lanes to test secrets
    - [ ]  6. Load funds for new lanes
    - [x]  7. Schedule pipeline to run for every 6hrs
    
    ### Key outcomes:
    Present transaction count: 1tx * (28 * 2)lanes * 24hrs = 1344
    After this change: 1tx * (49 * 2)lanes = 98 which is close to 92%
    reduction with additional 42 lanes coverage.
    
    As per the last
    [analysis](https://docs.google.com/document/d/1MqXoIyGtGE9o2usgpWdIHQUMblKTyeAvoa06MEsExpc/edit?pli=1#heading=h.8kwk6enqa4w)
    on the cost, we spend around 84k per quarter.
    I expect the fund reduction close to 90% which will give saving close to
    300k annually.
    
    ---------
    
    Co-authored-by: Brandon West <[email protected]>
    b-gopalswami and Bwest981 authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    374482e View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. Removing chain dependencies from NewCommitServices construct (#1361)

    ## Motivation
    LOOP-ify
    
    ## Solution
    
    ---------
    
    Co-authored-by: Bartek Tofel <[email protected]>
    Co-authored-by: lukaszcl <[email protected]>
    3 people authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    b71329d View commit details
    Browse the repository at this point in the history
  2. RMNHome (#1469)

    New PR to have this be standalone
    RensR authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    bf72809 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. ccip home (#1473)

    Fresh PR
    RensR authored Sep 30, 2024
    Configuration menu
    Copy the full SHA
    71799d2 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. CCIP-3547: Fix wallet key and add slack notifcations (#1475)

    ## Motivation
    BSC_MAINNET wallet key was missing in the workflow and slack
    notification is not configured for smoke test.
    
    ## Solution
    Add the required wallet keys and enabled custom slack notification with
    threads and post the results.
    b-gopalswami authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    7d4f8e5 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. fix typeAndVersion (#1479)

    RensR authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    dfa420b View commit details
    Browse the repository at this point in the history
  2. fix when contract reader fails on latestRoundData call (#1476)

    ## Motivation
    
    https://github.com/smartcontractkit/ccip/blob/b71329d41b803ca16dc9a1f9d5247c87fd6fbc32/core/services/ocr2/plugins/ccip/internal/pricegetter/evm.go#L209
    will panic with
    ```
    panic: runtime error: index out of range [1] with length 1
    
    goroutine 3683 [running]:
    github.com/smartcontractkit/chainlink/v2/core/services/ocr2/plugins/ccip/internal/pricegetter.(*DynamicPriceGetter).performBatchCall(0x8?, {0x46d85c0, 0x67ae360}, 0xa77ab4f8?, 0xc0174776d0, 0xc017475aa0)
    	/chainlink/core/services/ocr2/plugins/ccip/internal/pricegetter/evm.go:209 +0x1998
    ```
    
    This can happen when the contract reader fails on a LatestRoundData call
    when only one aggregator contract is requested in the batch call.
    
    ## Solution
    
    Use `read.ReadName`
    patrickhuie19 authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    bd22732 View commit details
    Browse the repository at this point in the history
  3. Feature/commit init no evm followups (#1472)

    ## Motivation
    Quick follow ups to #1361
    patrickhuie19 authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    5aee339 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. Add seq number to CCIPMessageSent event (#1481)

    ## Motivation
    Easily retrieve `CCIPMessageSent` events in the absence of Atlas /
    another event indexer
    
    ## Solution
    Add sequenceNumber as an indexed field to `CCIPMessageSent` event
    RyanRHall authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    ce11b9f View commit details
    Browse the repository at this point in the history
  2. Rename IRMNV2 => IRMNRemote (#1484)

    ## Motivation
    IRMNRemote is a better name
    
    ## Solution
    Rename to `IRMNRemote`
    RyanRHall authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    0a41c0b View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. Chore: Metis change (#1485)

    ## Motivation
    
    
    ## Solution
    stackman27 authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    4db2b21 View commit details
    Browse the repository at this point in the history
  2. Do not return the error in case if onRamp not initialized (#1487)

    ## Motivation
    For the exec provider, in some cases, the onRamp reader is not
    initialized. For immediate reaction, we need to allow execution without
    blocking in cases if onRamp is not initialized. It fails due the issue
    when onRampReader is not initialized for execProvider. This fix should
    fix this issue. In case the onRamp reader is not initialized, the module
    will return 0 values and DAGasEstimator will behave as it worked before
    this feature been implemented.
    valerii-kabisov-cll authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    29f7edf View commit details
    Browse the repository at this point in the history
  3. integration-tests: restore original module name; remove self-replace (#…

    …1478)
    
    ## Motivation
    
    The module import path for `integration-tests` was split brained
    between:
    - github.com/smartcontractkit/chainlink/integration-tests
    - github.com/smartcontractkit/ccip/integration-tests
    
    And patched with a self-replace:
    ```
    github.com/smartcontractkit/chainlink/integration-tests => ../integration-tests
    ```
    Which was breaking `gomods`
    
    ## Solution
    
    This PR removes the replace and restores the original import path, and
    re-enables gomods.
    jmank88 authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    ace434b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e97914d View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. fix typo (#1486)

    Closes #1482
    RensR authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    04ad1e8 View commit details
    Browse the repository at this point in the history
  2. feat: add getter to return all source chain config (#1477)

    ## Motivation
    The current offchain initialization process involves calling
    getSourceChainConfig(sourceChainSelector), which retrieves
    configurations for a specific source chain selector. However, there's no
    mechanism to fetch a complete list of supported source chains during the
    initialization phase. This limitation complicates the process, as the
    full list of source chain selectors is not readily available.
    
    ## Solution
    To address this, the proposed solution introduces an enumerable set of
    all source chain selectors. By implementing a getAllSourceChainConfig()
    function, we can easily retrieve the complete list of source chains
    on-chain. This eliminates the need for additional rounds of OCR gossip
    to share known source chains, simplifying initialization and improving
    efficiency.
    
    ---------
    
    Signed-off-by: 0xsuryansh <[email protected]>
    Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
    Co-authored-by: Rens Rooimans <[email protected]>
    3 people authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    f77ff21 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Pool to support rebasing mint call (#1490)

    This basic pool supports rebasing minting
    RensR authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    c4907f3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f772bcf View commit details
    Browse the repository at this point in the history
  3. Bumps chain-selectors version to latest (#1492)

    ## Motivation
    Bumps chain-selectors version to latest.
    
    ## Solution
    mohamed-mehany authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    0a2e295 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Make gas fee staleness threshold configurable per chain (#1491)

    ## Motivation
    On some chains, it is possible the gas price will just always be zero or
    will be fixed at some constant fee
    
    ## Solution
    Make stalenessThreshold per dest chain and have 0 mean no staleness
    check
    RyanRHall authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    2d5ff29 View commit details
    Browse the repository at this point in the history
  2. use chain Id as opposed to chain type to identify Mantle (#1489) (#1494)

    ## Motivation
    Mantle chaintype is no longer used by the BIX team, Mantle's chaintype
    has been changed to optimism in chain toml
    
    ## Solution
    In order to match for Mantle and apply custom gas price interceptor, we
    can check for evm ChainId.
    
    Not going for a more generic solution given OCR2 plugins will be sunset
    soon, and Mantle should be the only chain that requires such custom
    logic before that.
    
    This is already included in 1.5.4 release and verified to work.
    Back-porting here to dev branch.
    matYang authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    918ccf6 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2024

  1. Manually merged in from chainlink repo:

      BCI-3492 [LogPoller]: Allow withObservedExecAndRowsAffected to report non-zero rows affected (#14057)
    
        * Fix withObservedExecAndRowsAffected
    
        Also:
        - Change behavior of DeleteExpiredLogs to delete logs which don't match any filter
        - Add a test case to ensure the dataset size is published properly during pruning
    
        * pnpm changeset
    
        * changeset #fix -> #bugfix
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    9f9148a View commit details
    Browse the repository at this point in the history
  2. Manually merge in FilteredLogs receive []Expression from upstream

    commit 2761cd5
    Author: Juan Farber <[email protected]>
    Date:   Wed Sep 4 17:16:00 2024 -0300
    
        [BCI-3988] - FilteredLogs receive []Expression instead of whole KeyFilter (#14109)
    
        * FilteredLogs receive []Expression instead of whole KeyFilter
    
        * remove key from query.Where KeyFilter creation
    
        * add changeset
    
        * remove brackets from changeset
    
        * fix usage
    
        * fix comment lint
    
        * remove todo
    
        * refactor based on comments
    
        * add where func inside logpoller without key
    
        * fix reference
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    990662d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c738f58 View commit details
    Browse the repository at this point in the history
  4. Add id column as PRIMARY KEY for evm.logs & evm.log_poller_blocks

    Also:
       - Add UNIQUE INDEXes to replace previous primary keys (still necessary, both for
         optimizing queries and for enforcing uniqueness constraints)
       - Replace all SELECT *'s with helper functions for selecting all columns
       - Refactor nestedBlockQuery into withConfs, and make a bit more use of it
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    f2152f3 View commit details
    Browse the repository at this point in the history
  5. Clean up db indexes

    Some of the columns in these indexes (such as created_at) are no longer used.
    Others were not optimized for the queries we need.
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    c4192c3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bac89ac View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    de696bb View commit details
    Browse the repository at this point in the history
  8. Update test for fromBlock >= :block_number

    Previously it was using fromBlock > :block_number which is inconsistent
    with the other fromBlocks in queries
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    9f4b268 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5a9eb23 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    741579f View commit details
    Browse the repository at this point in the history
  11. Fix bug in merged commit from develop

    On a node with more than one chain, each LogPoller would have deleted all logs from chains it's not
    running on! Because of the LEFT JOIN, ON evm_chain_id = $1 does not filter out any rows where evm_chain_id != $1;
    only WHERE evm_chain_id = $1 can do that
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    54f9ea4 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    bb7ca3b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    44ccdc9 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    388ca20 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    6bb5f2a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    dcf3ad6 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    ab32e1a View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    27fe6c6 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    b06ea6c View commit details
    Browse the repository at this point in the history
  20. Fix UnmatchedLogs query

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    428e7f8 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    9c4e902 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3ff0e21 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    b993451 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    012345f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    b9648b0 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    23b6617 View commit details
    Browse the repository at this point in the history
  27. Reorganize sql migration script, adding comments to clarify

    Also, adds a missing CREATE INDEX line that was left out of the Goose Down section:
    CREATE INDEX idx_evm_log_poller_blocks_order_by_block ON evm_log_poller_blocks (evm_chain_id, block_number DESC);
    
    And removes an extraneous DROP line that was in the Goose Up section:
    DROP INDEX IF EXISTS evm.idx_logs_chain_address_event_block_logindex;
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    5e18824 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    de81d71 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    385f2bb View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    8dbb78c View commit details
    Browse the repository at this point in the history
  31. Set MaxLogsKept to 1

    Also:
    
    - Lower LogPrunePageSize from default 10,000 to 999
    
    With present settings, it's running once every 40 mins and deleting
    around 3200 logs. This only takes a few seconds, but appears to be
    slowing down other queries a bit when it happens. Cutting this down
    to 999 will hopefully keep it more stable.
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    3970897 View commit details
    Browse the repository at this point in the history
  32. Fix unreachable code

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    3ba99f1 View commit details
    Browse the repository at this point in the history
  33. Update branch

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    e73e343 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    9206356 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    bf980bb View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    14cad9e View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    b121498 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    e1bc72c View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    826a2a1 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    c0e4678 View commit details
    Browse the repository at this point in the history
  41. Update tests

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    cbb4ef6 View commit details
    Browse the repository at this point in the history
  42. Fix golint errors

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    94ef8ac View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    4547055 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    eaaf877 View commit details
    Browse the repository at this point in the history
  45. Improve logging

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    8d61e38 View commit details
    Browse the repository at this point in the history
  46. Add test for SelectExcessLogIDs

    Also, remove some extraneous lines in orm_test.go
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    ef5716e View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    01c1a2f View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    523effb View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    56f2163 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    4eb72ec View commit details
    Browse the repository at this point in the history
  51. sql.ErrRows fix

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    a83c3cb View commit details
    Browse the repository at this point in the history
  52. Address remaining PR comments

    - Remove topics from SelectExcessLogs query
    - Early exit from loadFilters
    - upper >= end
    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    a7b9328 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    2500099 View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    1dc3d7d View commit details
    Browse the repository at this point in the history
  55. MaxLogsKept=0

    reductionista committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    4494f58 View commit details
    Browse the repository at this point in the history