Skip to content

Commit 81d589c

Browse files
authored
Embded move: part 1/x: Use local copy (#10418)
## Description This switches to using a local copy of Move (sui-move branch). **NOTE: if you try to load the first commit `copy move/language @ dd68cce ...` your browser might freeze because it's hundreds of thousands of lines.** Only pay attention to the subsequent commits. All features work. Next steps: * Enabling sync with upstream. * Enabling clippy, fmt on Move workspace ## Test Plan Normal tests --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
0 parents  commit 81d589c

File tree

5,515 files changed

+573185
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,515 files changed

+573185
-0
lines changed

Cargo.lock

Lines changed: 6595 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
[workspace]
2+
resolver = "2"
3+
4+
members = [
5+
"benchmarks",
6+
"documentation/examples/diem-framework/crates/cli",
7+
"documentation/examples/diem-framework/crates/crypto",
8+
"documentation/examples/diem-framework/crates/crypto-derive",
9+
"documentation/examples/diem-framework/crates/natives",
10+
"evm/exec-utils",
11+
"evm/extract-ethereum-abi",
12+
"evm/move-ethereum-abi",
13+
"evm/move-to-yul",
14+
"extensions/async/move-async-vm",
15+
"extensions/move-table-extension",
16+
"move-analyzer",
17+
"move-binary-format",
18+
"move-binary-format/serializer-tests",
19+
"move-borrow-graph",
20+
"move-bytecode-verifier",
21+
"move-bytecode-verifier/bytecode-verifier-tests",
22+
"move-bytecode-verifier/fuzz",
23+
"move-bytecode-verifier/invalid-mutations",
24+
"move-bytecode-verifier/transactional-tests",
25+
"move-command-line-common",
26+
"move-compiler",
27+
"move-compiler/transactional-tests",
28+
"move-core/types",
29+
"move-ir/types",
30+
"move-ir-compiler",
31+
"move-ir-compiler/move-bytecode-source-map",
32+
"move-ir-compiler/move-ir-to-bytecode",
33+
"move-ir-compiler/move-ir-to-bytecode/syntax",
34+
"move-ir-compiler/transactional-tests",
35+
"move-model",
36+
"move-prover",
37+
"move-prover/boogie-backend",
38+
"move-prover/bytecode",
39+
"move-prover/interpreter",
40+
"move-prover/interpreter/crypto",
41+
"move-prover/interpreter-testsuite",
42+
"move-prover/lab",
43+
"move-prover/move-abigen",
44+
"move-prover/move-docgen",
45+
"move-prover/move-errmapgen",
46+
"move-prover/mutation",
47+
"move-prover/test-utils",
48+
"move-prover/tools/spec-flatten",
49+
"move-stdlib",
50+
"move-symbol-pool",
51+
"move-vm/integration-tests",
52+
"move-vm/paranoid-tests",
53+
"move-vm/runtime",
54+
"move-vm/test-utils",
55+
"move-vm/transactional-tests",
56+
"move-vm/types",
57+
"testing-infra/module-generation",
58+
"testing-infra/test-generation",
59+
"testing-infra/transactional-test-runner",
60+
"tools/move-bytecode-utils",
61+
"tools/move-bytecode-viewer",
62+
"tools/move-cli",
63+
"tools/move-coverage",
64+
"tools/move-disassembler",
65+
"tools/move-explain",
66+
"tools/move-package",
67+
"tools/move-resource-viewer",
68+
"tools/move-unit-test",
69+
"tools/read-write-set",
70+
"tools/read-write-set/dynamic",
71+
"tools/read-write-set/types",
72+
]
73+
74+
# NOTE: default-members is the complete list of binaries that form the "production Move codebase". These members should
75+
# never include crates that require fuzzing features or test features. These are the crates we want built with no extra
76+
# test-only code included.
77+
#
78+
# For more, see the "Conditional compilation for tests" section in documentation/coding_guidelines.md.
79+
default-members = [
80+
"evm/extract-ethereum-abi",
81+
"evm/move-to-yul",
82+
"move-analyzer",
83+
"move-ir-compiler",
84+
"move-prover",
85+
"move-prover/lab",
86+
"move-prover/mutation",
87+
"move-prover/tools/spec-flatten",
88+
"move-compiler",
89+
"move-stdlib",
90+
"tools/move-disassembler",
91+
"tools/move-bytecode-viewer",
92+
"tools/move-cli",
93+
"tools/move-coverage",
94+
"tools/move-unit-test",
95+
]
96+
97+
# Dependencies that should be kept in sync through the whole workspace
98+
[workspace.dependencies]
99+
bcs = "0.1.4"
100+
101+
[profile.bench]
102+
debug = true
103+
104+
[profile.dev]
105+
debug = true
106+
107+
# use release settings to reduce memory pressure in the linking step in CI
108+
[profile.ci]
109+
inherits = "test"
110+
debug = 0 # for saving disk space during linking
111+
incremental = false
112+
codegen-units = 16

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
id: move-language
3+
title: Move Language
4+
custom_edit_url: https://github.com/move-language/move/edit/main/language/README.md
5+
---
6+
7+
8+
Move is a new programming language developed to provide a safe and programmable foundation for the Diem Blockchain.
9+
10+
## Overview
11+
12+
The Move language directory consists of four main parts:
13+
14+
- [virtual machine](move-vm/) (VM) — contains the bytecode format, a bytecode interpreter, and infrastructure for executing a block of transactions. This directory also contains the infrastructure to generate the genesis block.
15+
16+
- [bytecode verifier](move-bytecode-verifier/) — contains a static analysis tool for rejecting invalid Move bytecode. The virtual machine runs the bytecode verifier on any new Move code it encounters before executing it. The compiler runs the bytecode verifier on its output and surfaces the errors to the programmer.
17+
18+
- [move-compiler](move-compiler/) — contains the Move source language compiler.
19+
20+
- [standard library](move-stdlib/) — contains the standard library transaction scripts.
21+
22+
## Exploring the Move language
23+
24+
- You can find many small Move examples in the [tests](move-compiler/tests/move_check/) directory. The easiest way to experiment with Move is to create a new test in this directory and run it with `cargo test`.

0 commit comments

Comments
 (0)