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

feat(xcvm): rework protocol messages [breaking change] #4116

Merged
merged 6 commits into from
Sep 11, 2023
Merged

feat(xcvm): rework protocol messages [breaking change] #4116

merged 6 commits into from
Sep 11, 2023

Conversation

mina86
Copy link
Contributor

@mina86 mina86 commented Sep 6, 2023

Note that this is a breaking change. Protobuf message definition as
well as serde definition of XCVM program and packets are changed.

  1. Simplify protobuf definitions by removing wrapping types. It’s not
    protobuf style to have messages with just one flied (such as AssetId)
    where instead the field can be used directly. Removing those shortens
    the protocol buffer and removes some of the conversion code.

  2. Replace Self, Tip, Result and IpRegister BindingValues with
    a single registry field and a corresponding Registry enum. This
    mirrors the way Rust types are defined and again simplifies conversion
    code.

  3. Rename id to exchange_id in instruction::Exchange and network
    to network_id in instruction::Spawn. This makes it more consistent
    with protobuf messages as well as other types which use foo_id for
    identifier fields. This change affects serde.

  4. Rename handful of fields in protobuf from camelCase to snake_case
    as per the protobuf style guide. This doesn’t change the Rust code.

Required for merge:

  • pr-workflow-check / draft-release-check is ✅ success
  • Other rules GitHub shows you, or can be read in configuration

Makes review faster:

  • PR title is my best effort to provide summary of changes and has clear text to be part of release notes
  • I marked PR by misc label if it should not be in release notes
  • Linked Zenhub/Github/Slack/etc reference if one exists
  • I was clear on what type of deployment required to release my changes (node, runtime, contract, indexer, on chain operation, frontend, infrastructure) if any in PR title or description
  • Added reviewer into Reviewers
  • I tagged(@) or used other form of notification of one person who I think can handle best review of this PR
  • I have proved that PR has no general regressions of relevant features and processes required to release into production
  • Any dependency updates made, was done according guides from relevant dependency
  • Clicking all checkboxes
  • Adding detailed description of changes when it feels appropriate (for example when PR is big)

@github-actions
Copy link

github-actions bot commented Sep 6, 2023

Pull reviewers stats

Stats of the last 30 days for composable:

User Total reviews Time to review Total comments
dzmitry-lahoda 21 3h 17m 10
mina86 11 1d 34m 34
blasrodri 10 3h 6m 3
kkast 6 3h 17m 7
vmarkushin 4 7h 9m 2
RustNinja 4 2h 18m 0
JafarAz 2 9h 13m 0
0xBrainjar2 1 1d 12h 1m 0

@github-actions
Copy link

github-actions bot commented Sep 6, 2023

# run Composable node
nix run "github:ComposableFi/composable/refs/pull/4116/merge" --allow-import-from-derivation --extra-experimental-features "flakes nix-command" --no-sandbox --accept-flake-config --option sandbox relaxed
# run local Picasso DevNet (for CosmWasm development)
nix run "github:ComposableFi/composable/refs/pull/4116/merge#devnet-picasso" --allow-import-from-derivation --extra-experimental-features "flakes nix-command" --no-sandbox --accept-flake-config --option sandbox relaxed 
# CosmWasm on Substrate CLI tool
nix run "github:ComposableFi/composable/refs/pull/4116/merge#ccw" --allow-import-from-derivation --extra-experimental-features "flakes nix-command" --no-sandbox --accept-flake-config --option sandbox relaxed 
# run cross chain devnet with Dotsama and Cosmos nodes 
nix run "github:ComposableFi/composable/refs/pull/4116/merge#devnet-xc-fresh" --allow-import-from-derivation --extra-experimental-features "flakes nix-command" --no-sandbox --accept-flake-config --option sandbox relaxed 
# or same with docker
nix build "github:ComposableFi/composable/refs/pull/4116/merge#devnet-xc-image" --allow-import-from-derivation --extra-experimental-features "flakes nix-command" --no-sandbox --accept-flake-config --option sandbox relaxed \
&& docker load --input result && docker run -it --entrypoint bash devnet-xc:latest -c /bin/devnet-xc-fresh 

About nix

@mina86
Copy link
Contributor Author

mina86 commented Sep 6, 2023

@dzmitry-lahoda, thoughts? Not sure how far gone the deployment of the contracts has gone. With this contracts would need to be updated and re-deplayed with any old messages no longer being valid.

dzmitry-lahoda
dzmitry-lahoda previously approved these changes Sep 6, 2023
@mina86
Copy link
Contributor Author

mina86 commented Sep 6, 2023

@dzmitry-lahoda, PTAL. Had to resolve conflicts.

@mina86
Copy link
Contributor Author

mina86 commented Sep 7, 2023

@dzmitry-lahoda, friendly ping.

Required for merge:
- [ ] `pr-workflow-check / draft-release-check` is ✅ success
- Other rules GitHub shows you, or can be read in
[configuration](../terraform/github.com/branches.tf)

Makes review faster:
- [ ] PR title is my best effort to provide summary of changes and has
clear text to be part of release notes
- [ ] I marked PR by `misc` label if it should not be in release notes
- [ ] Linked Zenhub/Github/Slack/etc reference if one exists
- [ ] I was clear on what type of deployment required to release my
changes (node, runtime, contract, indexer, on chain operation, frontend,
infrastructure) if any in PR title or description
- [ ] Added reviewer into `Reviewers`
- [ ] I tagged(`@`) or used other form of notification of one person who
I think can handle best review of this PR
- [ ] I have proved that PR has no general regressions of relevant
features and processes required to release into production
- [ ] Any dependency updates made, was done according guides from
relevant dependency
- Clicking all checkboxes 
- Adding detailed description of changes when it feels appropriate (for
example when PR is big)
@mina86 mina86 disabled auto-merge September 10, 2023 23:18
@mina86 mina86 enabled auto-merge (squash) September 10, 2023 23:18
@mina86
Copy link
Contributor Author

mina86 commented Sep 10, 2023

Uh? GitHub seems confused:

Merging is blocked

Merging can be performed automatically with 1 approving review.

@dzmitry-lahoda, could you try approving again?

@mina86 mina86 merged commit 7469023 into main Sep 11, 2023
33 checks passed
@mina86 mina86 deleted the mpn/c branch September 11, 2023 22:27
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.

3 participants