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

release/2.5.0 -> master #10622

Merged
merged 273 commits into from
Sep 13, 2023
Merged

release/2.5.0 -> master #10622

merged 273 commits into from
Sep 13, 2023

Conversation

chainchad
Copy link
Collaborator

justinkaseman and others added 30 commits July 28, 2023 03:49
…ber is added to the left side of the filter condition (#9968)
* update VL contracts

* update
Introduce a chain-agnostic LogPollerWrapper that will be provided by the Relayer.
LogPollerWrapper needs to support Listener, ConfigProvider and ContractTransmitter (+ potentially more components in the future).
* (test): Add integration test for contracts v1

* (fix): V1 listener handle correctly stops awaiting

* Requested changes

* Change v1 integration test port

* Increase MaxReportLengthBytes from 10k -> 15k
)

Contract address will soon be dynamic so we can't use a single base digester. Let's create one on each call.
1. Subscribe to route updates in poller, transmitter and digester.
2. LogPollerWrapper support for v0 contracts (single, synchronous update).
3. LogPollerWrapper subscription management.
4. Stub of public API for the Listener (latest request/response).
* golf acceptTermsOfService

* golf createSubscription

* packing them structs

* Golf Commitment a bit more

* golf deployment cost (doesn't count :( )

* golf storage layout  FunctionsSubscriptions

* Storage layout of FunctionsBilling

* add foundry setup test

* Mostly comments and code improvements + micro golf

* I'm so sorry for stealing the mapping Deividas

* This doesn't give points but has annoyed me for too long

OCR2 doesn't pack nicely, even though it could combine s_owner, s_configCount and s_latestConfigBlockNumber into the same slot. My issue is mostly with ConfirmedOwnerWithProposal somehow making s_owner completely unpackable by following it with the not remotely as useful s_pendingOwner. Again, no gas savings for this competition but let's all agree that this is simply wrong

* removing unused imports

* unchecked ++i, please don't use this in prod

* fix rebase issues

* pack Commitment struct

* pack Commitment

* no gas in measurement but saves a storage slot

* fix test, add type safety to config

* undo ConfirmedOwnerWithProposal which has 0 gas impact

0 in the gas measurement test, but non-zero in setting OCR configs but since this is a shared file and CI is very angry if old contracts change Ill just undo this part

* Revert v0_0_0 changes

* Remove unchecked loop increments, replace with comments documenting bounds

* Regenerate geth wrappers

* (test): Amend go integration test client contract method

---------

Co-authored-by: Rens Rooimans <github@rensrooimans.nl>
* Removed unnecessary _nonReentrant call from oracleWithdraw

* Changed access from internal to external for ownerWithdraw

* More reentrancy guard removal

* Set FunctionsClient and Routable routers to immutable

* Keep subscription methods protected against reentrancy

* (test): Add reentrancy unit tests

* Remove reentrancy lock because of CEI pattern's protection (-8500 gas)

* Amend line from merging develop

* Regenerate geth wrappers

* (test): Lower test's sub funding to prevent flakes from gasprice fluctuations

* (test): Pin tx.gasprice for reentrancy test

---------

Co-authored-by: Justin Kaseman <justinkaseman@live.com>
* Use ReadAccessController interface within ToS Allowlist & add method for get all

* (test): Amend ToS test for new getter name

* Remove ToS Allow List's overloaded .hasAccess()
* Adding reqCount to VRFV2+ Subscription

* Prettify sol files

* Prettify sol interface files

* Updated comment

---------

Co-authored-by: Sri Kidambi <kidambisrinivas@users.noreply.github.com>
* move test/vendor -> shared/vendor

* move OZ folder

shared/vendor/openzeppelin-solidity/v.4.8.0 ->
vendor/openzeppelin-solidity/v4.8.0

* bump mock helper & dev code version dependency

removes the need to include a v4.3.1, 4.7.3 should behave the same way

* rm moved OZ folder

* move OZ and CBORUtils

* move last shared vendor to top level vendor

* move arb and optimism dev vendor

* move entrypoint and arb-bridge-eth

* move address to correct vendor
* Decouple chainlink client used in tests

Chainlink node client should be decoupled from K8s. This allows to use it in non-k8s environments like local docker containers.

* Fix k8 client

* Fix
* getter function

* rename

* config changes

* removed flag from ocr1 configs

* test update + config-docs

* 1 CONFIG.md 1 line

* tests and toml defaults added

* default values/variables for testdata/.../validate

* rename + embed/testdata flag

* toml fixed
* Hardcoded exact gas used causing issues in test, testing against range

* Compare specific event log fields while skipping the gas payment field

---------

Co-authored-by: Sri Kidambi <kidambisrinivas@users.noreply.github.com>
* rename FallbackGasPriceUAtom to FallbackGasPrice

* revert config.md formatting

* one test passes

* update TestTxm_Integration to use uatom

* update cosmos packages

* update tests

* Add Base soak test config (#9860)

* Base(Mainnet) + Optimism hotfix

* Add soak config

* revert ocr config changes

* adjust confirmations

* bump cl env and ctf

* Add patch

* Add patch

* Update base test config

---------

Co-authored-by: simsonraj <simsonraj.easvarasakthi@smartcontract.com>

* bump libocr to c5e49b4195ac49bbf9ea3b122f24b3e19dbb8c4a (#9891)

* fix arb min gas bug (#9872)

* add admin privilege config (#9902)

* update cosmos packages

* add await logic

* add back go tags

* update imports

* tools/ci: add install_wasmd script

* .github/actions: add initial setup-wasmd action

* .github/workflows: add setup-wasmd step to core workflow

* update wasmd version

* remove comment

* remove debugging code

* generate new wasmbech32 address

* tidy

* config docs

* tidy

* postgres version

---------

Co-authored-by: Calvin Wang <calvin.wang@smartcontract.com>
Co-authored-by: Calvin <78729586+calvwang9@users.noreply.github.com>
Co-authored-by: David Cauchi <13139524+davidcauchi@users.noreply.github.com>
Co-authored-by: simsonraj <simsonraj.easvarasakthi@smartcontract.com>
Co-authored-by: Jordan Krage <jmank88@gmail.com>
Co-authored-by: Ryan Hall <RyanRHall@users.noreply.github.com>
Co-authored-by: cfal <cfal@users.noreply.github.com>
* wip

* wip - cron

* wip - 5+ tests, ragep2p issues

* rollback ocr/ocr2

* comments, cleanup

* increase timeouts

* rollback go.mod

* re-use mercury env as a boilerplate

* re-use mercury env as a boilerplate

* fix action's Go version

* update go.mod from develop

* explicitly login into aws registry

* update deps

* set explicit go version

* re-trigger

* github-action v2.2.2

* fix the client

* reusable envs

* review fixes

* review fixes
* Bump version and update CHANGELOG for core v2.3.0

* Add base config (#9865)

* Add base config

* Updated Docs

* Base goerli config to match Optimism goerli

---------

Co-authored-by: simsonraj <simsonraj.easvarasakthi@smartcontract.com>
(cherry picked from commit ee724fc)

* Base(Mainnet) + Optimism hotfix (#9862)

* Base(Mainnet) + Optimism hotfix

* Revert "Base(Mainnet) + Optimism hotfix"

This reverts commit a13e848.

* Base+ optimism hotfix for non-successfull ocr rounds

* fix tests

(cherry picked from commit 38e9e4a)

* Added automation gaslimit for Base (#9878)

(cherry picked from commit 22a60fb)

* re run config docs generate

* Finalize date on changelog for 2.3.0

---------

Co-authored-by: David Cauchi <13139524+davidcauchi@users.noreply.github.com>
Co-authored-by: Simson <simsonraj.easvarasakthi@smartcontract.com>
* Move FulfillResultCodes to interfaces folder

* Rename Function.sol setArgs -> addArgs

* Rename Routable s_config_hash -> s_configHash

* Make Routable updateConfig public for re-use in constructor

* Move comment out of IConfigurable

* Make Routable s_router private with an internal getter

* Rename constant to ROUTER_ID

* Rename RouterBase  s_config_hash -> s_configHash

* Rename Routable.sol -> HasRouter.sol

* Add IOwnableRouter interface

* FunctionsSubscriptions MustBeSubOwner -> MustBeSubscriptionOwner

* Make RouterBase variable private

* RouterBase togglePause -> pause/unpause

* Use full semantic version in typeAndVersion

* ToS Allow List rename proof -> signature

* Change acceptTermsOfService arguments from signature to raw r,s,v

* Prettier format 💅

* Remove RouterBase versioning

* Move RequestTimedOut event to Router

* Rename requestSubscriptionOwnerTransfer -> proposeSubscriptionOwnerTransfer

* (test): Update tests for changes

* (test): Add v0 gas test

* Regenerate geth wrappers

* use ConfirmedOwner and uint256

* Revert _handleConfigUpdate

* Add RequestDeleted event to FunctionsBilling

* Use uint256 in loops

* Use separate import for ITypeAndVersion

* Use public constants for typeAndVersion getters

* (test): Use v0.8 mocks

* Regen geth wrappers

---------

Co-authored-by: Rens Rooimans <github@rensrooimans.nl>
@cl-sonarqube-production
Copy link

SonarQube Quality Gate

Quality Gate failed

Failed condition 0.0% 0.0% Coverage on New Code (is less than 80%)
Failed condition 4.2% 4.22% Duplicated Lines (%) on New Code (is greater than 3%)
Failed condition 1 New Blocker Issues (is greater than 0)
Failed condition 10 New Major Issues (is greater than 5)

See analysis details on SonarQube

Fix issues before they fail your Quality Gate with SonarLint SonarLint in your IDE.

Copy link
Contributor

@patrickhuie19 patrickhuie19 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Digestable diff is https://github.com/smartcontractkit/chainlink/pull/10628/files, which adds default configs for the Base chain.

LGTM!

@jmank88
Copy link
Contributor

jmank88 commented Sep 13, 2023

CI is choking on DB errors:

Waiting for postgres server, 2 remaining attempts...
jq: error (at <stdin>:1): Cannot index object with number

This is fixed on develop. Not sure how to handle it here.

@chainchad chainchad merged commit 4fb58aa into master Sep 13, 2023
145 of 205 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.