Skip to content

Commit

Permalink
Merge branch 'develop' into BCF-3414-Remove-obsolete-code
Browse files Browse the repository at this point in the history
  • Loading branch information
pavel-raykov authored Oct 15, 2024
2 parents 9562e20 + 4b21c32 commit 972a527
Show file tree
Hide file tree
Showing 253 changed files with 5,002 additions and 28,977 deletions.
5 changes: 5 additions & 0 deletions .changeset/early-rules-yell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

#updated support aptos creation in chain config UI
5 changes: 5 additions & 0 deletions .changeset/five-chicken-talk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

#updated introduce network field on chain resolver
5 changes: 5 additions & 0 deletions .changeset/forty-lizards-camp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

Enable rotating encryptionPublicKey in CapabilitiesRegistry contract
5 changes: 5 additions & 0 deletions .changeset/metal-eels-check.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": patch
---

#updated Consume Feeds Manager WSRPC protos from Chainlink Protos Repository.
25 changes: 25 additions & 0 deletions .changeset/orange-feet-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
"chainlink": minor
---

Implemented new chain agnostic MultiNode design along with the corresponding EVM implementation. The chain agnostic components enable Multinode to be integrated with Solana and other non-EVM chains. Previously the Multinode was coupled with EVM specific actions, and was called to execute these actions direclty. With this change, the MultiNode's responsibility has been simplified to focus on RPC selection along with performing health checks. Chain specific actions will instead be executed on the RPC directly after being selected by MultiNode. The Chain Agnostic MultiNode provides improved reliability and metrics for all chain integrations using it.

These are following main components:
Node: Common component which wraps an RPC with state information, health checks, and an alive loop to handle state changes along with maintaining chain information.
RPCClient: Chain-specific RPC wrapper which implements required interface for MultiNode along with any chain-specific functionality needed.
MultiNode: Perform RPCClient selection and performs health checks on all RPCs.
TransactionSender: Chain agnostic component which broadcasts transactions to all healthy RPCs and aggregates results. A chain-specific error classifier must be implemented.

MultiNode picks the "best" RPC based on one of the configurable criteria:
- Priority defined in the config.
- Highest latest block.
- Round-robin within the same priority level (or using other configurable selection algorithms)

Benefits of Chain Agnostic MultiNode:
Reliability: Improved RPC reliability scaleable to all chains
Maintainability: Can apply changes across all chain integrations through the use of common code
Extendability: Can add new health checks, RPC selection and ranking algorithms
Integration Speed: Much faster to integrate MultiNode with new chains
Reduced Generics: Significantly less bulky code!

#updated #changed #internal
5 changes: 5 additions & 0 deletions .changeset/stale-pugs-sin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

#added introduce cosmosKeys and starknetKeys graphql query
46 changes: 34 additions & 12 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -58,24 +58,26 @@ core/scripts/gateway @smartcontractkit/dev-services
/core/services/standardcapabilities @smartcontractkit/keystone
/core/scripts/keystone @smartcontractkit/keystone

# Contracts
# Contracts catch all, for files not matched by the more specific patterns below
/contracts/ @RensR @matYang @RayXpub @elatoskinas

# First we match on project names to catch files like the compilation scripts,
# gas snapshots and other files not places in the project directories.
# This could give some false positives, so afterwards we match on the project directories
# to ensure the entire directory is always owned by the correct team.

# First we match on project names to catch files like the compilation scripts and other files
# not placed in the project directories. This could give some false positives, so afterwards
# we match on the project directories to ensure the entire directory is always owned by the
# correct team.
/contracts/**/*keeper* @smartcontractkit/dev-services
/contracts/**/*upkeep* @smartcontractkit/dev-services
/contracts/**/*automation* @smartcontractkit/dev-services
/contracts/**/*ccip* @RensR @matYang @jhweintraub @0xsuryansh @RyanRHall
/contracts/**/*functions* @smartcontractkit/dev-services
/contracts/**/*l2ep* @smartcontractkit/bix-ship
/contracts/**/*llo-feeds* @smartcontractkit/data-streams-engineers
/contracts/**/*operatorforwarder* @smartcontractkit/data-feeds-engineers
/contracts/**/*vrf* @smartcontractkit/dev-services
/contracts/**/*l2ep* @smartcontractkit/bix-ship
/contracts/**/*keystone* @smartcontractkit/keystone

/contracts/src/v0.8/automation @smartcontractkit/dev-services
/contracts/src/v0.8/ccip @RensR @matYang @jhweintraub @0xsuryansh @RyanRHall
/contracts/src/v0.8/functions @smartcontractkit/dev-services
# TODO: interfaces folder, folder should be removed and files moved to the correct folders
/contracts/src/v0.8/l2ep @smartcontractkit/bix-build
Expand All @@ -86,15 +88,35 @@ core/scripts/gateway @smartcontractkit/dev-services
# TODO: tests folder, folder should be removed and files moved to the correct folders
# TODO: transmission folder, owner should be found
/contracts/src/v0.8/vrf @smartcontractkit/dev-services
/contracts/src/v0.8/keystone @smartcontractkit/keystone

/core/gethwrappers/ccip @RensR @matYang @jhweintraub @0xsuryansh @RyanRHall
/core/gethwrappers/functions @smartcontractkit/dev-services
/core/gethwrappers/keystone @smartcontractkit/keystone
/core/gethwrappers/liquiditymanager @RensR @matYang @jhweintraub @0xsuryansh @RyanRHall
/core/gethwrappers/llo-feeds @smartcontractkit/data-streams-engineers
/core/gethwrappers/operatorforwarder @smartcontractkit/data-feeds-engineers
/core/gethwrappers/shared @RensR @matYang @RayXpub @elatoskinas

# The following don't exist yet but should. They are already included here to allow the teams to
# set these folders up and own them immediately.
/core/gethwrappers/keeper @smartcontractkit/dev-services
/core/gethwrappers/upkeep @smartcontractkit/dev-services
/core/gethwrappers/automation @smartcontractkit/dev-services
/core/gethwrappers/l2ep @smartcontractkit/bix-ship
/core/gethwrappers/vrf @smartcontractkit/dev-services

# GQL API
/core/web/resolver @smartcontractkit/deployment-automation @smartcontractkit/foundations
/core/web/schema @smartcontractkit/deployment-automation @smartcontractkit/foundations
# Remove changeset files from the codeowners
/contracts/.changeset
# Gas snapshots are always checked by the CI so they don't need codeowners.
/contracts/gas-snapshots

# At the end, match any files missed by the patterns above
/contracts/scripts/native_solc_compile_all_events_mock @smartcontractkit/dev-services
# Remove changeset files from the codeowners
/contracts/.changeset

# GQL API
/core/web/resolver @smartcontractkit/deployment-automation @smartcontractkit/foundations
/core/web/schema @smartcontractkit/deployment-automation @smartcontractkit/foundations


# Tests
Expand Down
Loading

0 comments on commit 972a527

Please sign in to comment.