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

[NONEVM-904] Update address book to support nonevm #15269

Merged
merged 18 commits into from
Nov 22, 2024

Conversation

jlaveracll
Copy link
Contributor

Requires

Supports

Copy link
Contributor

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

🎖️ No JIRA issue number found in: PR title, commit message, or branch name. Please include the issue ID in one of these.

@jlaveracll jlaveracll changed the title Update address book to support nonevm [NONEVM-904] Update address book to support nonevm Nov 15, 2024
Copy link
Contributor

github-actions bot commented Nov 15, 2024

AER Report: CI Core ran successfully ✅

aer_workflow , commit

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

@jlaveracll jlaveracll marked this pull request as ready for review November 19, 2024 13:35
@jlaveracll jlaveracll requested review from a team as code owners November 19, 2024 13:35
Copy link
Contributor

@connorwstein connorwstein left a comment

Choose a reason for hiding this comment

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

A large number of the comments are a little redundant because they are in EVM specific contexts but fine just keep em and over-communicate imo.

address = common.HexToAddress(address).Hex()
} else {
return errors.Wrapf(ErrInvalidAddress, "address %s is not a valid Ethereum address, only Ethereum addresses supported", address)
if family == chainsel.FamilyEVM {
Copy link
Contributor

Choose a reason for hiding this comment

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

could add your aptos specific validation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we don't have any yet, but we'll create a ticket to add it later. We are already tackling hardening tasks like this one

Copy link
Collaborator

Choose a reason for hiding this comment

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

I was toying with an idea of building in aptos and other chain or family validations into the chainlink-selectors repo, so we'd have a set of reusable validations keyed off of chain ID in a way that hides all the conditionality from calling code. Valid addresses was definitely in the right zone. Doing it here is fine, but we should think about making this more generally usable.

_, exists := chainsel.ChainBySelector(chainSelector)
if !exists {
// Save will save an address for a given chain selector. It will error if there is a conflicting existing address.
func (m *AddressBookMap) Save(chainSelector uint64, address string, typeAndVersion TypeAndVersion) error {
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's update the Save test with some other family addresses

Copy link
Contributor

Choose a reason for hiding this comment

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

why did this become public? i don't see anything that using it in other packages.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

case added!

Copy link
Contributor

Choose a reason for hiding this comment

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

yeah +1 @krehermann this should remain a private helper, there's already a public Save. Not sure how this actually compiles it looks like it has the same signature as the public Save?

jmank88
jmank88 previously approved these changes Nov 19, 2024
cgruber
cgruber previously approved these changes Nov 20, 2024
@@ -197,6 +197,7 @@ func NewRelayer(ctx context.Context, lggr logger.Logger, chain legacyevm.Chain,
sugared := logger.Sugared(lggr).Named("Relayer")
mercuryORM := mercury.NewORM(opts.DS)
cdcFactory := sync.OnceValues(func() (llo.ChannelDefinitionCacheFactory, error) {
// NOTE: This does not support non-evm chains
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are these notes intended to be TODOs, or is this purely documentary?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

documentation

connorwstein
connorwstein previously approved these changes Nov 20, 2024
jmank88
jmank88 previously approved these changes Nov 20, 2024
Copy link
Contributor

I see you added a changeset file but it does not contain a tag. Please edit the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

@jlaveracll jlaveracll requested review from a team as code owners November 21, 2024 18:03
connorwstein
connorwstein previously approved these changes Nov 21, 2024
@prashantkumar1982 prashantkumar1982 dismissed stale reviews from connorwstein and themself via fb24bb7 November 21, 2024 22:02
krehermann
krehermann previously approved these changes Nov 21, 2024
@krehermann krehermann added this pull request to the merge queue Nov 22, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 22, 2024
@prashantkumar1982 prashantkumar1982 added this pull request to the merge queue Nov 22, 2024
Merged via the queue into develop with commit 00777b8 Nov 22, 2024
148 of 149 checks passed
@prashantkumar1982 prashantkumar1982 deleted the update-addressbook-to-support-nonevm branch November 22, 2024 18:41
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.

6 participants