diff --git a/CHANGELOG.md b/CHANGELOG.md index 97d3304298d3..d448876e7dbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -88,6 +88,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (x/genutil) [\#9638](https://github.com/cosmos/cosmos-sdk/pull/9638) Added missing validator key save when recovering from mnemonic * (server) [#9704](https://github.com/cosmos/cosmos-sdk/pull/9704) Start GRPCWebServer in goroutine, avoid blocking other services from starting. * [\#9762](https://github.com/cosmos/cosmos-sdk/pull/9762) The init command uses the chain-id from the client config if --chain-id is not provided +* [\#9793](https://github.com/cosmos/cosmos-sdk/pull/9793) Fixed ECDSA/secp256r1 transaction malleability. ### State Machine Breaking diff --git a/crypto/keys/internal/ecdsa/privkey.go b/crypto/keys/internal/ecdsa/privkey.go index 088d85bf2f53..690c07670d64 100644 --- a/crypto/keys/internal/ecdsa/privkey.go +++ b/crypto/keys/internal/ecdsa/privkey.go @@ -12,13 +12,7 @@ import ( // p256Order returns the curve order for the secp256r1 curve // NOTE: this is specific to the secp256r1/P256 curve, // and not taken from the domain params for the key itself -// (which would be a more generic approach for all EC) -// In *here* we don't need to do it as a method on the key -// since this code is only called for secp256r1 -// if called on a key: -// func (sk PrivKey) pCurveOrder() *.big.Int { -// return sk.Curve.Params().N -// } +// (which would be a more generic approach for all EC). var p256Order = elliptic.P256().Params().N // p256HalfOrder returns half the curve order