-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Remove support for ServiceMsgs TypeURLs #9172
Milestone
Comments
amaury1093
added
the
T: API Breaking
Breaking changes that impact APIs and the SDK only (not state machine).
label
Apr 22, 2021
amaury1093
changed the title
Remove support for ServiceMsgs
Remove support for ServiceMsgs TypeURLs
Apr 22, 2021
I'm in favor of Proposal 1. There's gonna be client breaking changes anyway, so rather soon than later. |
Proposal 1 is implemented in #9139 |
aaronc
added
in progress
and removed
backlog
T: API Breaking
Breaking changes that impact APIs and the SDK only (not state machine).
labels
Apr 27, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
Should we still support
ServiceMsg
TypeURLs in txs in v0.43?Terminology
1.
Msg
TypeURL, e.g."/cosmos.bank.v1beta1.MsgSend"
This is the TypeUrl of a proto message when packed inside an Any. For example: we can pack
bank.MsgSend
in anAny
in txs. We then haveany.TypeURL == "/cosmos.bank.v1beta1.MsgSend"
.2.
ServiceMsg
TypeURL, e.g."/cosmos.bank.v1beta1.Msg/Send"
This is the TypeUrl of an ADR-031
Msg Service
method name. In ADR-031, we simulate packing aServiceMsg
in anAny
. We then haveany.TypeURL == "/cosmos.bank.v1beta1.Msg/Send"
Notice the
ServiceMsg
TypeURL has 2/
(it defines a service method fully-qualified name) whereas aMsg
TypeURL only has one/
(it defines a proto message name).Problem Definition
The SDK currently (as of v0.42) supports txs with both
ServiceMsg
TypeURLs (routed via Baseapp'smsg_service_router
) and concreteMsg
TypeURLs (routed via the legacy handler). ADR-031's vision was to slowly deprecateMsg
TypeURLs.However, #9063 made a point that
ServiceMsg
TypeUrls (terminology 2 above) are not protobuf compliant. #9139 was created to deprecate them (more specifically: Baseapp'smsg_service_router
routes messages using the concreteMsg
TypeURLs instead of theServiceMsg
one)Currently,
ServiceMsg
TypeURL are still supported, but deprecated, in case some explorers/clients are already usingServiceMsg
s.But should we support&deprecate
ServiceMsg
TypeURLs in v0.43, or completely remove them?ref: #9139 (review)
Proposal
Proposal 1: Completely remove
ServiceMsg
TypeURL support for v0.43.With documentation, changelog, clear communication etc.
Pros:
ServiceMsg
TypeURLs are not yet widely adopted, we can kill it before too many chains upgrade to v0.43.Cons:
Proposal 2: Keep
ServiceMsg
TypeURL support for v0.43, remove it later (e.g. v0.44).With deprecation notice.
Pros:
Cons:
ServiceMsg
TypeURLs.For Admin Use
The text was updated successfully, but these errors were encountered: