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

feat: ics main changes notional #15944

Closed
wants to merge 3 commits into from

Conversation

faddat
Copy link
Contributor

@faddat faddat commented Apr 25, 2023

Description

This PR has changes to GetPubKey that are needed to support ICS.

NOTE

We are still not certain that this is all of the changes that are needed.

We would like to speak with sdk and informal team members to figure out if
there are additional changes needed to the Slash API.

We hope that Informal and SDK teams will please contact Notional about
this matter. Our team has been working on this for quite some time.

We have contacted Informal Systems team members about this matter not less
than four times since March 23, 2023.


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title
  • added ! to the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • followed the guidelines for building modules
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • included comments for documenting Go code
  • updated the relevant documentation or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed ! in the type prefix if API or client breaking change
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic
  • reviewed API design and naming
  • reviewed documentation is accurate
  • reviewed tests and test coverage
  • manually tested (if applicable)

@faddat faddat requested a review from a team as a code owner April 25, 2023 08:41
Comment on lines -479 to -482
// a chain must initialize with a non-empty validator set
if len(validatorUpdates) == 0 {
return abci.ResponseInitChain{}, fmt.Errorf("validator set is empty after InitGenesis, please ensure at least one validator is initialized with a delegation greater than or equal to the DefaultPowerReduction (%d)", sdk.DefaultPowerReduction)
}
Copy link
Member

Choose a reason for hiding this comment

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

is there any way we can keep this? this is a really good feedback error for me and many others.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's what we have been trying to discuss since March 23rd, just there's not been a discussion.

My impression that we probably can, but not without discussing with relevant teams to plan.

I agree with you.

@@ -476,10 +476,6 @@ func (m *Manager) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, genesisData
}
}

// a chain must initialize with a non-empty validator set
Copy link
Member

Choose a reason for hiding this comment

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

Reposting my comment from here: #15917 (comment)

I am not that familiar with ICS codebase, but this makes sense.
Have you investigated if the consumer app could recover the panic? I know this isn't ideal, but this is a UX improvement for all but consumer chains.

In main, it will be skipping this error, but the question still stands.

Comment on lines -21 to -23
if _, err := k.GetPubkey(ctx, addr); err != nil {
panic(fmt.Sprintf("Validator consensus-address %s not found", consAddr))
}
Copy link
Member

Choose a reason for hiding this comment

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

can you touch on why this is being removed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@vuong177 can. We are getting on a flight right now, so probably tomorrow

@julienrbrt julienrbrt changed the title ics main changes notional feat: ics main changes notional Apr 25, 2023
@tac0turtle
Copy link
Member

hey these changes are not needed from my understanding, we talked with the hub team and they said the 0 validator check is not needed since the consumer chain does have validators. Closing this for now

@tac0turtle tac0turtle closed this Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants