Skip to content

Commit

Permalink
Merge branch 'develop' into BCF-3119-create-dashboard-to-allow-filter…
Browse files Browse the repository at this point in the history
…ing-by-single-node-and-see-health-panels-with-components-health-for-each-chain-family
  • Loading branch information
Atrax1 authored Apr 22, 2024
2 parents 0a5a8b9 + 9d359de commit d840a02
Show file tree
Hide file tree
Showing 299 changed files with 6,338 additions and 4,225 deletions.
6 changes: 6 additions & 0 deletions .changeset/flat-guests-marry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"chainlink": minor
---

#internal Gas Estimator L1Oracles to be chain specific
#removed cmd/arbgas
5 changes: 5 additions & 0 deletions .changeset/fresh-lizards-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

#internal Updates required to work with chainlink-common changes to support grpc streams for capabilities
5 changes: 5 additions & 0 deletions .changeset/great-rockets-obey.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#wip Keystone wrapper regenerate
6 changes: 6 additions & 0 deletions .changeset/hungry-ways-add.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"chainlink": patch
---

#bugfix
vrf fix replay number of blocks logic and add logging for job specs
5 changes: 5 additions & 0 deletions .changeset/loud-peaches-beg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

support decimals #added
5 changes: 5 additions & 0 deletions .changeset/lucky-ghosts-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

core/services/keystore: switch to sqlutil.DataStore #internal
5 changes: 5 additions & 0 deletions .changeset/lucky-windows-taste.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Validate support for postgresql-client 16, and update docker image's bundled postgresql-client from 15 to 16. #nops #updated
5 changes: 5 additions & 0 deletions .changeset/orange-squids-kick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#internal Remote Trigger setup
5 changes: 5 additions & 0 deletions .changeset/plenty-wombats-grab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#wip Regenerate Keystone wrappers
5 changes: 4 additions & 1 deletion .github/actions/golangci-lint/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: CI lint for Golang
description: Runs CI lint for Golang
inputs:
# general inputs
id:
description: Unique metrics collection id
required: true
name:
description: Name of the lint action
default: lint
Expand Down Expand Up @@ -72,7 +75,7 @@ runs:
if: always()
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: chainlink-golang-ci
id: chainlink-golang-ci-${{ inputs.id }}
basic-auth: ${{ inputs.gc-basic-auth }}
hostname: ${{ inputs.gc-host }}
org-id: ${{ inputs.gc-org-id }}
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ jobs:
uses: ./.github/actions/golangci-lint
if: ${{ needs.filter.outputs.changes == 'true' }}
with:
id: core
gc-basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
gc-host: ${{ secrets.GRAFANA_INTERNAL_HOST }}
gc-org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
Expand Down Expand Up @@ -107,6 +108,8 @@ jobs:
- name: Setup Go
if: ${{ needs.filter.outputs.changes == 'true' }}
uses: ./.github/actions/setup-go
- name: Run short tests
run: go test -short ./...
- name: Setup Solana
if: ${{ needs.filter.outputs.changes == 'true' }}
uses: ./.github/actions/setup-solana
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci-scripts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
- name: Golang Lint
uses: ./.github/actions/golangci-lint
with:
id: scripts
name: lint-scripts
go-directory: core/scripts
go-version-file: core/scripts/go.mod
Expand Down
27 changes: 16 additions & 11 deletions .github/workflows/helm-chart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,29 @@ on:
jobs:
ci-lint-helm-charts:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
actions: read
steps:
- name: Add repositories
run: |
helm repo add mockserver https://www.mock-server.com
helm repo add opentelemetry-collector https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo add tempo https://grafana.github.io/helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
- name: ci-lint-helm-charts
uses: smartcontractkit/.github/actions/ci-lint-charts@6b08487b176ef7cad086526d0b54ddff6691c044 # ci-lint-charts@0.1.2
uses: smartcontractkit/.github/actions/ci-lint-charts@7fa39741b11e66ed59f8aad786d4b9356c389f3f # ci-lint-charts@0.2.0
with:
# chart testing inputs
chart-testing-extra-args: "--lint-conf=lintconf.yaml"
charts-dir: charts/chainlink-cluster
# grafana inputs
metrics-job-name: ci-lint-helm-charts
gc-basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
gc-host: ${{ secrets.GRAFANA_INTERNAL_HOST }}
gc-org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}

ci-kubeconform:
runs-on: ubuntu-latest
steps:
- name: ci-kubeconform
uses: smartcontractkit/.github/actions/ci-kubeconform@1ae8a9a984814c4daf50aa96f03be2cba0ef3fec # [email protected]
with:
# kubeform inputs
charts-dir: charts/chainlink-cluster
# grafana inputs
metrics-job-name: ci-kubeconform
gc-basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
gc-host: ${{ secrets.GRAFANA_INTERNAL_HOST }}
gc-org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
6 changes: 5 additions & 1 deletion .github/workflows/on-demand-vrfv2-performance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ on:
- "Load"
- "Stress"
- "Spike"
test_list_regex:
description: "Regex for tests to run"
required: false
default: "(TestVRFV2Performance)"
jobs:
vrfv2_performance_test:
name: VRFV2 Performance Test
Expand Down Expand Up @@ -71,7 +75,7 @@ jobs:
- name: Run Tests
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/run-tests@5dd916d08c03cb5f9a97304f4f174820421bb946 # v2.3.11
with:
test_command_to_run: cd ./integration-tests/load && go test -v -count=1 -timeout 24h -run TestVRFV2Performance ./vrfv2
test_command_to_run: cd ./integration-tests/load && go test -v -count=1 -timeout 24h -run "${{ inputs.test_list_regex }}" ./vrfv2
test_download_vendor_packages_command: cd ./integration-tests && go mod download
cl_repo: ${{ env.CHAINLINK_IMAGE }}
cl_image_tag: ${{ env.CHAINLINK_VERSION }}
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/on-demand-vrfv2plus-performance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@ on:
- "Soak"
- "Load"
- "Stress"
- "Spike"

- "Spike"
test_list_regex:
description: "Regex for tests to run"
required: false
default: "(TestVRFV2PlusPerformance)"
jobs:
vrfv2plus_performance_test:
name: VRFV2 Plus Performance Test
Expand Down Expand Up @@ -72,7 +75,7 @@ jobs:
- name: Run Tests
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/run-tests@5dd916d08c03cb5f9a97304f4f174820421bb946 # v2.3.11
with:
test_command_to_run: cd ./integration-tests/load && go test -v -count=1 -timeout 24h -run TestVRFV2PlusPerformance ./vrfv2plus
test_command_to_run: cd ./integration-tests/load && go test -v -count=1 -timeout 24h -run "${{ inputs.test_list_regex }}" ./vrfv2plus
test_download_vendor_packages_command: cd ./integration-tests && go mod download
cl_repo: ${{ env.CHAINLINK_IMAGE }}
cl_image_tag: ${{ env.CHAINLINK_VERSION }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/solidity-foundry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
FOUNDRY_PROFILE: ${{ matrix.product }}

- name: Run Forge snapshot
if: ${{ !contains(fromJson('["vrf"]'), matrix.product) && !contains(fromJson('["automation"]'), matrix.product) && needs.changes.outputs.changes == 'true' }}
if: ${{ !contains(fromJson('["vrf"]'), matrix.product) && !contains(fromJson('["automation"]'), matrix.product) && !contains(fromJson('["keystone"]'), matrix.product) && needs.changes.outputs.changes == 'true' }}
run: |
forge snapshot --nmt "testFuzz_\w{1,}?" --check gas-snapshots/${{ matrix.product }}.gas-snapshot
id: snapshot
Expand Down
4 changes: 2 additions & 2 deletions .goreleaser.devspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ builds:
post: ./tools/bin/goreleaser_utils build_post_hook {{ dir .Path }} {{ .Os }} {{ .Arch }}
env:
- CGO_ENABLED=1
- CC=$ZIG_EXEC cc -target x86_64-linux-gnu
- CCX=$ZIG_EXEC c++ -target x86_64-linux-gnu
- CC=$ZIG_EXEC cc -target x86_64-linux-gnu -Wno-error=unused-command-line-argument
- CCX=$ZIG_EXEC c++ -target x86_64-linux-gnu -Wno-error=unused-command-line-argument
flags:
- -trimpath
- -buildmode=pie
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ regarding Chainlink social accounts, news, and networking.
2. Install [NodeJS v16](https://nodejs.org/en/download/package-manager/) & [pnpm via npm](https://pnpm.io/installation#using-npm).
- It might be easier long term to use [nvm](https://nodejs.org/en/download/package-manager/#nvm) to switch between node versions for different projects. For example, assuming $NODE_VERSION was set to a valid version of NodeJS, you could run: `nvm install $NODE_VERSION && nvm use $NODE_VERSION`
3. Install [Postgres (>= 12.x)](https://wiki.postgresql.org/wiki/Detailed_installation_guides). It is recommended to run the latest major version of postgres.
- Note if you are running the official Chainlink docker image, the highest supported Postgres version is 15.x due to the bundled client.
- Note if you are running the official Chainlink docker image, the highest supported Postgres version is 16.x due to the bundled client.
- You should [configure Postgres](https://www.postgresql.org/docs/current/ssl-tcp.html) to use SSL connection (or for testing you can set `?sslmode=disable` in your Postgres query string).
4. Ensure you have Python 3 installed (this is required by [solc-select](https://github.com/crytic/solc-select) which is needed to compile solidity contracts)
5. Download Chainlink: `git clone https://github.com/smartcontractkit/chainlink && cd chainlink`
Expand Down
5 changes: 5 additions & 0 deletions contracts/.changeset/heavy-horses-greet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@chainlink/contracts": patch
---

support decimals #added
5 changes: 5 additions & 0 deletions contracts/.changeset/mean-items-talk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@chainlink/contracts": patch
---

#wip Keystone custom error
5 changes: 5 additions & 0 deletions contracts/.changeset/old-pianos-trade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@chainlink/contracts": patch
---

#wip Add Capability Registry skeleton
2 changes: 0 additions & 2 deletions contracts/gas-snapshots/keystone.gas-snapshot

This file was deleted.

1 change: 1 addition & 0 deletions contracts/scripts/native_solc_compile_all_keystone
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ compileContract () {
"$ROOT"/contracts/src/v0.8/"$1"
}

compileContract keystone/CapabilityRegistry.sol
compileContract keystone/KeystoneForwarder.sol
compileContract keystone/OCR3Capability.sol

Large diffs are not rendered by default.

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

import {IERC20} from "../../../../vendor/openzeppelin-solidity/v4.8.3/contracts/token/ERC20/IERC20.sol";
import {IERC20Metadata as IERC20} from "../../../../vendor/openzeppelin-solidity/v4.8.3/contracts/token/ERC20/extensions/IERC20Metadata.sol";

interface IWrappedNative is IERC20 {
function deposit() external payable;
Expand Down
20 changes: 10 additions & 10 deletions contracts/src/v0.8/automation/dev/test/AutomationRegistrar2_3.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pragma solidity 0.8.19;
import {BaseTest} from "./BaseTest.t.sol";
import {IAutomationRegistryMaster2_3} from "../interfaces/v2_3/IAutomationRegistryMaster2_3.sol";
import {AutomationRegistrar2_3} from "../v2_3/AutomationRegistrar2_3.sol";
import {IERC20} from "../../../vendor/openzeppelin-solidity/v4.8.3/contracts/token/ERC20/IERC20.sol";
import {IERC20Metadata as IERC20} from "../../../vendor/openzeppelin-solidity/v4.8.3/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import {AutomationRegistryBase2_3 as AutoBase} from "../v2_3/AutomationRegistryBase2_3.sol";
import {IWrappedNative} from "../interfaces/v2_3/IWrappedNative.sol";

Expand Down Expand Up @@ -51,8 +51,8 @@ contract RegisterUpkeep is SetUp {
function testUSDToken_autoApproveOff_happy() external {
vm.startPrank(UPKEEP_ADMIN);

uint96 amount = uint96(registrar.getMinimumRegistrationAmount(usdToken));
usdToken.approve(address(registrar), amount);
uint96 amount = uint96(registrar.getMinimumRegistrationAmount(usdToken18));
usdToken18.approve(address(registrar), amount);

registrar.registerUpkeep(
AutomationRegistrar2_3.RegistrationParams({
Expand All @@ -61,7 +61,7 @@ contract RegisterUpkeep is SetUp {
adminAddress: UPKEEP_ADMIN,
gasLimit: 10_000,
triggerType: 0,
billingToken: usdToken,
billingToken: usdToken18,
name: "foobar",
encryptedEmail: "",
checkData: bytes("check data"),
Expand All @@ -70,7 +70,7 @@ contract RegisterUpkeep is SetUp {
})
);

assertEq(usdToken.balanceOf(address(registrar)), amount);
assertEq(usdToken18.balanceOf(address(registrar)), amount);
assertEq(registry.getNumUpkeeps(), 0);
}

Expand Down Expand Up @@ -106,8 +106,8 @@ contract RegisterUpkeep is SetUp {
registrar.setTriggerConfig(0, AutomationRegistrar2_3.AutoApproveType.ENABLED_ALL, 1000);

vm.startPrank(UPKEEP_ADMIN);
uint96 amount = uint96(registrar.getMinimumRegistrationAmount(usdToken));
usdToken.approve(address(registrar), amount);
uint96 amount = uint96(registrar.getMinimumRegistrationAmount(usdToken18));
usdToken18.approve(address(registrar), amount);

registrar.registerUpkeep(
AutomationRegistrar2_3.RegistrationParams({
Expand All @@ -116,7 +116,7 @@ contract RegisterUpkeep is SetUp {
adminAddress: UPKEEP_ADMIN,
gasLimit: 10_000,
triggerType: 0,
billingToken: usdToken,
billingToken: usdToken18,
name: "foobar",
encryptedEmail: "",
checkData: bytes("check data"),
Expand All @@ -125,8 +125,8 @@ contract RegisterUpkeep is SetUp {
})
);

assertEq(usdToken.balanceOf(address(registrar)), 0);
assertEq(usdToken.balanceOf(address(registry)), amount);
assertEq(usdToken18.balanceOf(address(registrar)), 0);
assertEq(usdToken18.balanceOf(address(registry)), amount);
assertEq(registry.getNumUpkeeps(), 1);
}

Expand Down
Loading

0 comments on commit d840a02

Please sign in to comment.