-
Notifications
You must be signed in to change notification settings - Fork 332
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
Update to cosmos-sdk 0.46 and tendermint 0.35 #2213
Update to cosmos-sdk 0.46 and tendermint 0.35 #2213
Conversation
Use the buf.lock manifest in the newer cosmos-sdk to fetch the dependency modules and use them in the include path.
Use the dependencies fetched with buf
File under "the things we have to do before cosmos/ibc-go#1345 is resolved". |
Mention the need for buf. Update the default locations of the git clones.
- The low-level ABCI event types have moved to tendermint_rpc. - The error code is now NonZeroU32. - encode_vec is infallible.
This is temporary, until we get a better idea of how to distinguish this condition from the RPC error.
The subscription events are now coming as ABCI events rather than a flattened map, so the whole RawObject infrastructure is no longer necessary.
height, | ||
); | ||
for abci_ev in block_events { | ||
if let Some(ev) = channel_events::try_from_tx(abci_ev) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that this can in theory extract any channel events, not only the ones that the previous code extracted specifically by matching a key name. So a WriteAcknowlegement
, AcknowledgePacket
, or a TimeoutPacket
could get into the returned list where previous code would ignore these events. I don't know if it is a problem in practice.
Now it points to the tip of carlos/upgrade-sdk-0.46-tendermint-0.35 branch. No changes to the generated code.
The gaiad test configuration specifies binding to 0.0.0.0, but the "localhost" URLs cause the client query commands to try IPv6 on dual-stack machines.
relayer/src/event/rpc.rs
Outdated
{ | ||
tracing::trace!(event = "SendPacket", "tx hash: {}", hash); | ||
} | ||
// TODO: use a helper function to filter to just the interesting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's keep the tx hash trace if possible.
ALso update the comments for this method.
The integration test failures with gaia-rho (currently merged in the master branch) are due to a discrepancy with JSON serialization: tendermint-go has "omitempty" flags on fields of |
Works much better with tendermint-rs patched for informalsystems/tendermint-rs#1131: I only get 4 failures of the 12 integrations tests. |
The tendermint-rpc dependency conflicts with no_std. The major user of that in modules is the ABCI event processing infrastructure. It does not really belong in the data structures crate, which should be chain agnostic.
The tx hash query better belongs with chain-specific stuff, and in any case it's only used in the relayer. Its presence in ibc modules complicated dependencies.
Can we update the
attached to this PR? Would be great to make it clear to external parties what the work here is for. As I understand it, the present PR provides compatibility with SDK 0.46 (but is not compat. with pre-0.46). |
Closing this due to changing situation with cosmos-sdk dependencies. Some of the changes will be repurposed later. |
Resolves #1560
See also #2276
Description
Generate
ibc_proto
from a cosmos-sdk 0.46 pre-release revision, to evaluate API changes.ibc-rs is also checked out from an
update-pr-branch
WIP branch.Also updates tendermint-rs to 0.24.0-pre.2.
To be able to do this, ibc-proto-compiler is changed to parse the
buf.lock
file in cosmos-sdk and fetch the dependency modules listed there using thebuf export
command. The modules' export directories are added to the include path.PR author checklist:
unclog
.docs/
).Reviewer checklist:
Files changed
in the GitHub PR explorer.