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): refactor protobuf handling #4108

Merged
merged 1 commit into from
Sep 3, 2023
Merged

feat(xcvm): refactor protobuf handling #4108

merged 1 commit into from
Sep 3, 2023

Conversation

mina86
Copy link
Contributor

@mina86 mina86 commented Aug 30, 2023

Firstly, move XCVM-related protocol messages to its own package. This
will make it easier to separate protocol messages defined for other
components of the system (namely virtual wallet). Secondly, move
stuff around in the Rust code to reflect the package structure in Rust
modules. All of that is just refactoring and moving stuff around.

Lastly, replace Encodable trait by a Isomorphism trait which defines
mapping between Rust type and protocol message type together with
providing encoding and decoding methods. The latter replace custom
decode functions.

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

Pull reviewers stats

Stats of the last 30 days for composable:

User Total reviews Time to review Total comments
dzmitry-lahoda 25 8h 12m 13
blasrodri 19 1h 47m 7
mina86 16 12h 56m 56
kkast 11 3h 17m 7
RustNinja 8 2h 24m 0
vmarkushin 5 7h 2
JafarAz 3 9h 25m 0
0xBrainjar2 2 3d 17h 35m 6

@github-actions
Copy link

# run Composable node
nix run "github:ComposableFi/composable/refs/pull/4108/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/4108/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/4108/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/4108/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/4108/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

Copy link
Contributor

@dzmitry-lahoda dzmitry-lahoda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh, sorry. package cvm is right, so may be file should bve cvm.proto too.

@dzmitry-lahoda dzmitry-lahoda merged commit 2343382 into main Sep 3, 2023
33 checks passed
@dzmitry-lahoda dzmitry-lahoda deleted the mpn/f branch September 3, 2023 14:22
@mina86
Copy link
Contributor Author

mina86 commented Sep 4, 2023

oh, sorry. package cvm is right, so may be file should bve cvm.proto too.

My reasoning is that XCVM refers to the execution part, the virtual machine that runs the instructions so that’s why I went with xcvm.proto for the file and cvm.xcvm for the package since they include messages defining the program and instructions.

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.

2 participants