-
Notifications
You must be signed in to change notification settings - Fork 7
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
Apply Kava patches on v0.21.0 #16
Conversation
Apply patch for base account to eth account conversion on contract
…ts (#8) over json rpc
Co-authored-by: Nick DeLuca <[email protected]>
Removal of unsupported test cases
@@ -18,9 +18,12 @@ message Params { | |||
repeated int64 extra_eips = 4 [(gogoproto.customname) = "ExtraEIPs", (gogoproto.moretags) = "yaml:\"extra_eips\""]; | |||
// chain_config defines the EVM chain configuration parameters | |||
ChainConfig chain_config = 5 [(gogoproto.moretags) = "yaml:\"chain_config\"", (gogoproto.nullable) = false]; | |||
// list of allowed eip712 msgs and their types | |||
repeated EIP712AllowedMsg eip712_allowed_msgs = 6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Field 6 is previously eip712_allowed_msgs
on our fork + mainnet, so to be backwards compatible the new upstream allow_unprotected_txs
field is updated to field 7.
Breaking proto CI job considers it breaking since upstream has it field 6.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm I think we will have to keep the 6 for our field, and ignore the breaking proto OR update it to check against our previous version. Downside here is that other codecs using ethermint proto's from upstream won't be compatible. There are some other options like migrating to our own proto type or changing the namespace, worth a discussion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another option could be to bite the bullet on the breaking codec change and separate upstream param's from our custom parameters.
@@ -217,7 +223,7 @@ func VerifySignature( | |||
return errorsmod.Wrap(errortypes.ErrNoSignatures, "tx doesn't contain any msgs to verify signature") | |||
} | |||
|
|||
txBytes := legacytx.StdSignBytes( | |||
txBytes := eip712.ConstructUntypedEIP712Data( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw a comment that tx timeout was disable because it wasn't passed through, but appears it is included in the sign doc?
@@ -224,19 +223,7 @@ func (pubKey *PubKey) UnmarshalAminoJSON(bz []byte) error { | |||
// | |||
// CONTRACT: The signature should be in [R || S] format. | |||
func (pubKey PubKey) VerifySignature(msg, sig []byte) bool { | |||
return pubKey.verifySignatureECDSA(msg, sig) || pubKey.verifySignatureAsEIP712(msg, sig) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we will probably want to test the new eip712 signing logic. Looks like it should work well with the eip712 data type construction we are doing. Maybe we should just keep this?
This reverts commit 7c71098.
Includes upstream migrations 2-5
@@ -120,7 +120,6 @@ func (suite *AnteTestSuite) SetupTest() { | |||
encodingConfig := encoding.MakeConfig(app.ModuleBasics) | |||
// We're using TestMsg amino encoding in some tests, so register it here. | |||
encodingConfig.Amino.RegisterConcrete(&testdata.TestMsg{}, "testdata.TestMsg", nil) | |||
eip712.SetEncodingConfig(encodingConfig) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note that we probably want to include the new eip712 additions in ethermint v21, which is that is is needed for.
No description provided.