Skip to content

Commit

Permalink
add back encoding
Browse files Browse the repository at this point in the history
  • Loading branch information
yan-soon committed Dec 6, 2023
1 parent a5f2c3e commit 85a906f
Show file tree
Hide file tree
Showing 2 changed files with 218 additions and 215 deletions.
54 changes: 27 additions & 27 deletions ethereum/eip712/encoding.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,9 @@ func decodeAminoSignDoc(signDocBytes []byte) (apitypes.TypedData, error) {
msgs[i] = m
}

// if err := validatePayloadMessages(msgs); err != nil {
// return apitypes.TypedData{}, err
// }
if err := validatePayloadMessages(msgs); err != nil {
return apitypes.TypedData{}, err
}

chainID, err := types.ParseChainID(aminoDoc.ChainID)
if err != nil {
Expand Down Expand Up @@ -224,27 +224,27 @@ func validateCodecInit() error {

// validatePayloadMessages ensures that the transaction messages can be represented in an EIP-712
// encoding by checking that messages exist and share a single signer.
// func validatePayloadMessages(msgs []sdk.Msg) error {
// if len(msgs) == 0 {
// return errors.New("unable to build EIP-712 payload: transaction does contain any messages")
// }

// var msgSigner sdk.AccAddress

// for i, m := range msgs {
// if len(m.GetSigners()) != 1 {
// return errors.New("unable to build EIP-712 payload: expect exactly 1 signer")
// }

// if i == 0 {
// msgSigner = m.GetSigners()[0]
// continue
// }

// if !msgSigner.Equals(m.GetSigners()[0]) {
// return errors.New("unable to build EIP-712 payload: multiple signers detected")
// }
// }

// return nil
// }
func validatePayloadMessages(msgs []sdk.Msg) error {
if len(msgs) == 0 {
return errors.New("unable to build EIP-712 payload: transaction does contain any messages")
}

var msgSigner sdk.AccAddress

for i, m := range msgs {
if len(m.(sdk.LegacyMsg).GetSigners()) != 1 {
return errors.New("unable to build EIP-712 payload: expect exactly 1 signer")
}

if i == 0 {
msgSigner = m.(sdk.LegacyMsg).GetSigners()[0]
continue
}

if !msgSigner.Equals(m.(sdk.LegacyMsg).GetSigners()[0]) {
return errors.New("unable to build EIP-712 payload: multiple signers detected")
}
}

return nil
}
Loading

0 comments on commit 85a906f

Please sign in to comment.