Skip to content

Commit a2fdd50

Browse files
refactor: simplify sign mode (2/2) (backport #23476) (#23477)
Co-authored-by: Julien Robert <[email protected]>
1 parent bc49a8e commit a2fdd50

11 files changed

+20
-59
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i
5555
* [#23470](https://github.com/cosmos/cosmos-sdk/pull/23470) Converge to use of one single sign mode type and signer data:
5656
* Use api's signmode throughout the SDK to align with `cosmossdk.io/tx`. This allows developer not to juggle between sign mode types
5757
* Deprecate `authsigning.SignerData` in favor of txsigning.SignerData and replace its usage
58-
* Move helpers to go from one sign mode enum to another to `types/signing` instead of `x/auth/signing` (less dependency on `x`)
58+
* Remove `APISignModeToInternal` from `x/auth` as no conversion is necessary by the user anymore
5959
* (all) [#23445](https://github.com/cosmos/cosmos-sdk/pull/23445) Remove `v2` code from codebase.
6060
* (codec) [#22988](https://github.com/cosmos/cosmos-sdk/pull/22988) Improve edge case handling for recursion limits.
6161
* (proto) [#23437](https://github.com/cosmos/cosmos-sdk/pull/23437) Deprecate `Block` field from `GetBlockByHeightResponse` and return empty comet block for `GetBlockByHeight`.

client/tx/aux_builder.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ func (b *AuxTxBuilder) SetSignMode(mode apisigning.SignMode) error {
136136
apisigning.SignMode_SIGN_MODE_DIRECT_AUX, apisigning.SignMode_SIGN_MODE_LEGACY_AMINO_JSON)
137137
}
138138

139-
b.auxSignerData.Mode, _ = signing.APISignModeToInternal(mode)
139+
b.auxSignerData.Mode = signing.SignMode(mode)
140140
return nil
141141
}
142142

client/tx/aux_builder_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
sdk "github.com/cosmos/cosmos-sdk/types"
1919
moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil"
2020
typestx "github.com/cosmos/cosmos-sdk/types/tx"
21-
"github.com/cosmos/cosmos-sdk/types/tx/signing"
2221
)
2322

2423
const (
@@ -249,7 +248,6 @@ func checkCorrectData(t *testing.T, cdc codec.Codec, auxSignerData typestx.AuxSi
249248
require.Equal(t, chainID, auxSignerData.SignDoc.ChainId)
250249
require.Equal(t, msgAny, body.GetMessages()[0])
251250
require.Equal(t, pkAny, auxSignerData.SignDoc.PublicKey)
252-
m, _ := signing.InternalSignModeToAPI(auxSignerData.Mode)
253-
require.Equal(t, signMode, m)
251+
require.Equal(t, signMode, apisigning.SignMode(auxSignerData.Mode))
254252
require.Equal(t, rawSig, auxSignerData.Sig)
255253
}

client/v2/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ Ref: https://keepachangelog.com/en/1.0.0/
3636

3737
## [Unreleased]
3838

39+
## [v2.10.0-beta.2](https://github.com/cosmos/cosmos-sdk/releases/tag/client/v2/v2.10.0-beta.2) - 2025-01-22
40+
3941
* [#23325](https://github.com/cosmos/cosmos-sdk/pull/23325) Remove `NewAppOptionsFromConfig` that isn't needed in normal wiring.
42+
* [#23470](https://github.com/cosmos/cosmos-sdk/pull/23470) Accept sign mode from `cosmossdk.io/api`.
4043

4144
## [v2.10.0-beta.1](https://github.com/cosmos/cosmos-sdk/releases/tag/client/v2/v2.10.0-beta.1) - 2024-12-18
4245

client/v2/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,4 @@ require (
174174
pgregory.net/rapid v1.1.0 // indirect
175175
)
176176

177-
replace github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.52.0-rc.1.0.20250122113551-ad692c97166e
177+
replace github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.52.0-rc.1.0.20250122120205-bc49a8e7fd2f

client/v2/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ github.com/cosmos/cosmos-db v1.1.1 h1:FezFSU37AlBC8S98NlSagL76oqBRWq/prTPvFcEJNC
133133
github.com/cosmos/cosmos-db v1.1.1/go.mod h1:AghjcIPqdhSLP/2Z0yha5xPH3nLnskz81pBx3tcVSAw=
134134
github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA=
135135
github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec=
136-
github.com/cosmos/cosmos-sdk v0.52.0-rc.1.0.20250122113551-ad692c97166e h1:uD+6+X9yIfcBH13hJZjPqiTnZAuskWWUlLtIrbTQ7K4=
137-
github.com/cosmos/cosmos-sdk v0.52.0-rc.1.0.20250122113551-ad692c97166e/go.mod h1:NBaGSpGuOFFDx7V/FVmbPqm1n0Xu3ihzqCbqj+8PxVs=
136+
github.com/cosmos/cosmos-sdk v0.52.0-rc.1.0.20250122120205-bc49a8e7fd2f h1:la+6zEjMn3+/gG+uHyJYyqkJ6HUAgP1NcoKH21rvBUE=
137+
github.com/cosmos/cosmos-sdk v0.52.0-rc.1.0.20250122120205-bc49a8e7fd2f/go.mod h1:NBaGSpGuOFFDx7V/FVmbPqm1n0Xu3ihzqCbqj+8PxVs=
138138
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
139139
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
140140
github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE=

types/tx/direct_aux.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package tx
33
import (
44
gogoprotoany "github.com/cosmos/gogoproto/types/any"
55

6+
apisigning "cosmossdk.io/api/cosmos/tx/signing/v1beta1"
7+
68
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
79
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
810
"github.com/cosmos/cosmos-sdk/types/tx/signing"
@@ -50,12 +52,10 @@ func (a *AuxSignerData) GetSignatureV2() (signing.SignatureV2, error) {
5052
return signing.SignatureV2{}, sdkerrors.ErrInvalidType.Wrapf("expected %T, got %T", (cryptotypes.PubKey)(nil), pk)
5153
}
5254

53-
signMode, _ := signing.InternalSignModeToAPI(a.Mode)
54-
5555
return signing.SignatureV2{
5656
PubKey: pk,
5757
Data: &signing.SingleSignatureData{
58-
SignMode: signMode,
58+
SignMode: apisigning.SignMode(a.Mode),
5959
Signature: a.Sig,
6060
},
6161
Sequence: a.SignDoc.Sequence,

types/tx/direct_aux_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55

66
"github.com/stretchr/testify/require"
77

8+
apisigning "cosmossdk.io/api/cosmos/tx/signing/v1beta1"
9+
810
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
911
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
1012
"github.com/cosmos/cosmos-sdk/testutil/testdata"
@@ -76,8 +78,7 @@ func TestAuxSignerData(t *testing.T) {
7678
require.NoError(t, err)
7779
sigV2, err := tc.sd.GetSignatureV2()
7880
require.NoError(t, err)
79-
m, _ := signing.InternalSignModeToAPI(tc.sd.Mode)
80-
require.Equal(t, m, sigV2.Data.(*signing.SingleSignatureData).SignMode)
81+
require.Equal(t, apisigning.SignMode(tc.sd.Mode), sigV2.Data.(*signing.SingleSignatureData).SignMode)
8182
require.Equal(t, tc.sd.Sig, sigV2.Data.(*signing.SingleSignatureData).Signature)
8283
require.Equal(t, tc.sd.SignDoc.Sequence, sigV2.Sequence)
8384
require.True(t, tc.sd.SignDoc.PublicKey.GetCachedValue().(cryptotypes.PubKey).Equals(sigV2.PubKey))

types/tx/signing/signature.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55

66
gogoprotoany "github.com/cosmos/gogoproto/types/any"
77

8+
signingv1beta1 "cosmossdk.io/api/cosmos/tx/signing/v1beta1"
9+
810
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
911
)
1012

@@ -32,11 +34,10 @@ type SignatureV2 struct {
3234
func SignatureDataToProto(data SignatureData) *SignatureDescriptor_Data {
3335
switch data := data.(type) {
3436
case *SingleSignatureData:
35-
signMode, _ := APISignModeToInternal(data.SignMode)
3637
return &SignatureDescriptor_Data{
3738
Sum: &SignatureDescriptor_Data_Single_{
3839
Single: &SignatureDescriptor_Data_Single{
39-
Mode: signMode,
40+
Mode: SignMode(data.SignMode),
4041
Signature: data.Signature,
4142
},
4243
},
@@ -67,9 +68,8 @@ func SignatureDataToProto(data SignatureData) *SignatureDescriptor_Data {
6768
func SignatureDataFromProto(descData *SignatureDescriptor_Data) SignatureData {
6869
switch descData := descData.Sum.(type) {
6970
case *SignatureDescriptor_Data_Single_:
70-
signMode, _ := InternalSignModeToAPI(descData.Single.Mode)
7171
return &SingleSignatureData{
72-
SignMode: signMode,
72+
SignMode: signingv1beta1.SignMode(descData.Single.Mode),
7373
Signature: descData.Single.Signature,
7474
}
7575
case *SignatureDescriptor_Data_Multi_:

types/tx/signing/types.go

-39
This file was deleted.

x/auth/tx/sigs.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,9 @@ func SignatureDataToModeInfoAndSig(data signing.SignatureData) (*tx.ModeInfo, []
2121

2222
switch data := data.(type) {
2323
case *signing.SingleSignatureData:
24-
signMode, _ := signing.APISignModeToInternal(data.SignMode)
25-
2624
return &tx.ModeInfo{
2725
Sum: &tx.ModeInfo_Single_{
28-
Single: &tx.ModeInfo_Single{Mode: signMode},
26+
Single: &tx.ModeInfo_Single{Mode: signing.SignMode(data.SignMode)},
2927
},
3028
}, data.Signature
3129
case *signing.MultiSignatureData:

0 commit comments

Comments
 (0)