Skip to content
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

Use extension options for unordered txs #23859

Open
technicallyty opened this issue Feb 28, 2025 · 1 comment
Open

Use extension options for unordered txs #23859

technicallyty opened this issue Feb 28, 2025 · 1 comment
Assignees

Comments

@technicallyty
Copy link
Contributor

see if its possible to use the existing extension options to extend a tx as "unordered".

this has 1 main benefit:

no tx compat layer needed. currently, we have TxBody, and TxBodyCompat - the only difference here being the unordered bool and timeout_timestamp field.

because of this, special care is needed when generating transaction bytes since v50 clients won't be able to decode, due to the SDK's rejecting transaction bytes with unknown proto fields.

@technicallyty technicallyty added this to the SDK v0.53 Core milestone Feb 28, 2025
@technicallyty technicallyty self-assigned this Feb 28, 2025
@github-actions github-actions bot added the needs-triage Issue that needs to be triaged label Mar 1, 2025
@technicallyty
Copy link
Contributor Author

extension options are not signed in legacy amino.

auxBody := &txv1beta1.TxBody{
Messages: body.Messages,
Memo: body.Memo,
TimeoutHeight: body.TimeoutHeight,
TimeoutTimestamp: body.TimeoutTimestamp,
// AuxTxBuilder has no concern with extension options, so we set them to nil.
// This preserves pre-PR#16025 behavior where extension options were ignored, this code path:
// https://github.com/cosmos/cosmos-sdk/blob/ac3c209326a26b46f65a6cc6f5b5ebf6beb79b38/client/tx/aux_builder.go#L193
// https://github.com/cosmos/cosmos-sdk/blob/ac3c209326a26b46f65a6cc6f5b5ebf6beb79b38/x/auth/migrations/legacytx/stdsign.go#L49
ExtensionOptions: nil,
NonCriticalExtensionOptions: nil,
}

as of now, this is leaning towards not possible.

@technicallyty technicallyty removed the needs-triage Issue that needs to be triaged label Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: No status
Development

No branches or pull requests

1 participant