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

Murisi/borsh ibc msg transfer rebase v0.41.0 #3560

Closed
wants to merge 8 commits into from

Conversation

murisi
Copy link
Collaborator

@murisi murisi commented Jul 29, 2024

Describe your changes

Attempt to close #3501 and hence simplify the (de)serialization of IBC transactions for third parties. More specifically, the following changes have been made:

  • IBC transaction data is now always a tagged serialization of the IbcMessage enumeration instead of being an untagged serialization of a MsgTransfer, MsgNftTransfer or Any structure.
  • IBC transaction data is now encoded using Borsh serialization instead of Protobufs. This is more consistent with how all the other parts of a Tx are serialized using Borsh, and will ease schema generation.
  • Updated the test vector generation code (i.e. the generator and the vector printer) to produce transactions in accordance with the above two changes.

Indicate on which release or other PRs this topic is based on

Namada 0.41.0

Checklist before merging to draft

  • I have added a changelog
  • Git history is in acceptable state

Copy link

codecov bot commented Jul 29, 2024

Codecov Report

Attention: Patch coverage is 7.41525% with 874 lines in your changes missing coverage. Please review.

Project coverage is 53.36%. Comparing base (6b0fd29) to head (c8834d6).
Report is 722 commits behind head on main.

Files with missing lines Patch % Lines
crates/ibc/src/msg.rs 0.54% 551 Missing ⚠️
crates/sdk/src/signing.rs 0.00% 291 Missing ⚠️
crates/ibc/src/lib.rs 15.78% 16 Missing ⚠️
crates/ibc/src/actions.rs 0.00% 4 Missing ⚠️
crates/node/src/bench_utils.rs 0.00% 4 Missing ⚠️
crates/light_sdk/src/transaction/ibc.rs 0.00% 3 Missing ⚠️
crates/sdk/src/tx.rs 0.00% 3 Missing ⚠️
crates/sdk/src/masp.rs 0.00% 1 Missing ⚠️
crates/vp_env/src/lib.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3560      +/-   ##
==========================================
- Coverage   53.66%   53.36%   -0.31%     
==========================================
  Files         322      322              
  Lines      111871   112422     +551     
==========================================
- Hits        60037    59990      -47     
- Misses      51834    52432     +598     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@murisi murisi mentioned this pull request Jul 29, 2024
2 tasks
@brentstone
Copy link
Collaborator

What is the status of this @murisi?

@brentstone
Copy link
Collaborator

can we close this? @murisi

@murisi
Copy link
Collaborator Author

murisi commented Sep 13, 2024

can we close this? @murisi

Yeah, we can close this. But for the sake of consistency, in the future we should probably consider using Borsh (de)seralization for the IBC messages and also tagging them to bring their encoding into line with the rest of the Namada transactions. That being said, this might be more trouble than it's worth given that the hardware wallet integration of this Protobuf encoding (wrapped by a Borsh encoding) has already been implemented on the hardware wallet.

@murisi murisi closed this Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use a tag/discriminant to distinguish between IBC NFT transfers and fungible token transfers
2 participants