feat: remove SIGN_MODE_TEXTUAL#26456
Conversation
This comment has been minimized.
This comment has been minimized.
Greptile SummaryThis PR removes the
Confidence Score: 5/5Safe to merge — the removal is thorough, the reserved proto value prevents future misuse, and all compilation-breaking references have been cleaned up. All Go constants for SIGN_MODE_TEXTUAL are removed, no dangling imports remain, the coin-format testdata was properly relocated, and the proto enum correctly uses reserved for value 2. The only notable items are descriptor-only changes in five unrelated store files — neither affects runtime correctness. The five store/*.pb.go files with updated descriptors deserve a second look to confirm they were intentionally regenerated alongside the signing proto changes. Important Files Changed
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #26456 +/- ##
==========================================
- Coverage 65.00% 64.68% -0.33%
==========================================
Files 814 798 -16
Lines 56655 55485 -1170
==========================================
- Hits 36829 35889 -940
+ Misses 19826 19596 -230
🚀 New features to boost your workflow:
|
|
@greptile re-review |
Eric-Warehime
left a comment
There was a problem hiding this comment.
Would be good to proactively add an entry to UPGRADING.md for this.
Addresses Eric-Warehime's review comment on #26456. Adds a checklist item, ToC entry, and migration guide for chains that configured SIGN_MODE_TEXTUAL.
Removes all code, protos, tests, and documentation for the SIGN_MODE_TEXTUAL signing mode. The proto enum value is reserved (reserved 2; reserved "SIGN_MODE_TEXTUAL") per protobuf best practice. ADR-050 and its annexes are marked ARCHIVED.
Addresses Eric-Warehime's review comment on #26456. Adds a checklist item, ToC entry, and migration guide for chains that configured SIGN_MODE_TEXTUAL.
b41e75f to
4ae9c3d
Compare
|
🔒 WARNING: unsigned commits detected This pull request contains 6 commit(s) without a verified signature. How to fix:
Docs: https://docs.github.com/authentication/managing-commit-signature-verification Unsigned commits:
|
…hase 4a)
Replaces cosmossdk.io/api/cosmos/tx/v1beta1.SignDoc with the gogoproto-
generated github.com/cosmos/cosmos-sdk/types/tx.SignDoc in the
SIGN_MODE_DIRECT handler. SignDoc has only scalar fields (bytes, string,
uint64) so gogoproto.Marshal produces the same deterministic bytes as
proto.MarshalOptions{Deterministic:true}.Marshal.
Remaining txv1beta1 usage is architecturally blocked by the decode
pipeline:
- decode/decode.go: needs ProtoReflect().Descriptor() for
RejectUnknownFieldsStrict
- tx_data.go / directaux: TxData.Body.Messages is []*anypb.Any;
anyutil.Unpack requires *anypb.Any specifically
- adapter.go / testutil / aux_builder: build TxData or SignerInfo that
depend on the above types
Also removes the now-unused txsigning import from client/cmd.go (the
SIGN_MODE_TEXTUAL check it guarded was removed by #26456).
Issue: N/A
Summary
SIGN_MODE_TEXTUAL"SIGN_MODE_TEXTUAL"per protobuf best practice to prevent future reuseChanges
x/tx/signing/textual/(~4,000 lines: all renderers, CBOR encoder, testdata, fuzz corpus, internal proto)proto/cosmos/msg/textual/v1/textual.protoand generatedapi/filex/auth/tx/textual.go,x/auth/tx/config/expected_keepers.goTextualCoinMetadataQueryFnwiring fromConfigOptionsand all simapproot.gofilesSIGN_MODE_TEXTUALcases fromAPISignModeToInternal,internalSignModeToAPI,SignWithLedger, client flag help text, and tx factoryclient/cmd.goTest plan
go test -race ./...passes (verified locally)golangci-lint run ./...passes (verified locally)🤖 Generated with Claude Code