-
Notifications
You must be signed in to change notification settings - Fork 70
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
Conversation
# 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 |
@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, PTAL. Had to resolve conflicts. |
@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)
Uh? GitHub seems confused:
@dzmitry-lahoda, could you try approving again? |
Note that this is a breaking change. Protobuf message definition as
well as serde definition of XCVM program and packets are changed.
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.
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.
Rename
id
toexchange_id
in instruction::Exchange andnetwork
to
network_id
in instruction::Spawn. This makes it more consistentwith protobuf messages as well as other types which use
foo_id
foridentifier fields. This change affects serde.
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 ✅ successMakes review faster:
misc
label if it should not be in release notesReviewers
@
) or used other form of notification of one person who I think can handle best review of this PR