From 2d3f2d47aa6bfd6e4f1db7a5220bbda38cc32249 Mon Sep 17 00:00:00 2001 From: Sam Blackshear Date: Mon, 19 Dec 2022 14:51:17 -0800 Subject: [PATCH] [move] bump Move version - Add new limits - Bring in bug fix in verifier - Bring in improved disassembler --- Cargo.lock | 76 ++++----- Cargo.toml | 40 ++--- crates/sui-adapter/src/adapter.rs | 5 +- ...tests__empty_genesis_snapshot_matches.snap | 2 +- ...ration__bytecode_disassemble_snapshot.snap | 5 +- ...bration__natives_disassemble_snapshot.snap | 47 +++--- ...cal_transaction_cost__good_snapshot-2.snap | 4 +- .../deps/move-stdlib/sources/vector.move | 22 ++- crates/sui-protocol-constants/src/lib.rs | 17 +- crates/workspace-hack/Cargo.toml | 152 +++++++++--------- 10 files changed, 206 insertions(+), 164 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 87bb2f2f4c908..dfa3e65739fe2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1065,7 +1065,7 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytecode-interpreter-crypto" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "curve25519-dalek-fiat", @@ -4200,7 +4200,7 @@ checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] name = "move-abigen" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4217,7 +4217,7 @@ dependencies = [ [[package]] name = "move-binary-format" version = "0.0.3" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-core-types", @@ -4230,12 +4230,12 @@ dependencies = [ [[package]] name = "move-borrow-graph" version = "0.0.1" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" [[package]] name = "move-bytecode-source-map" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4250,7 +4250,7 @@ dependencies = [ [[package]] name = "move-bytecode-utils" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-binary-format", @@ -4262,7 +4262,7 @@ dependencies = [ [[package]] name = "move-bytecode-verifier" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-binary-format", @@ -4274,7 +4274,7 @@ dependencies = [ [[package]] name = "move-bytecode-viewer" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "clap 3.2.23", @@ -4291,7 +4291,7 @@ dependencies = [ [[package]] name = "move-cli" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4337,7 +4337,7 @@ dependencies = [ [[package]] name = "move-command-line-common" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "difference", @@ -4354,7 +4354,7 @@ dependencies = [ [[package]] name = "move-compiler" version = "0.0.1" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4383,7 +4383,7 @@ dependencies = [ [[package]] name = "move-core-types" version = "0.0.4" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4402,7 +4402,7 @@ dependencies = [ [[package]] name = "move-coverage" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4422,7 +4422,7 @@ dependencies = [ [[package]] name = "move-disassembler" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "clap 3.2.23", @@ -4440,7 +4440,7 @@ dependencies = [ [[package]] name = "move-docgen" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "codespan", @@ -4458,7 +4458,7 @@ dependencies = [ [[package]] name = "move-errmapgen" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4472,7 +4472,7 @@ dependencies = [ [[package]] name = "move-ir-compiler" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4491,7 +4491,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "codespan-reporting", @@ -4510,7 +4510,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode-syntax" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "hex", @@ -4523,7 +4523,7 @@ dependencies = [ [[package]] name = "move-ir-types" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "hex", @@ -4537,7 +4537,7 @@ dependencies = [ [[package]] name = "move-model" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "codespan", @@ -4563,7 +4563,7 @@ dependencies = [ [[package]] name = "move-package" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4599,7 +4599,7 @@ dependencies = [ [[package]] name = "move-prover" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "async-trait", @@ -4636,7 +4636,7 @@ dependencies = [ [[package]] name = "move-prover-boogie-backend" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "async-trait", @@ -4664,7 +4664,7 @@ dependencies = [ [[package]] name = "move-read-write-set-types" version = "0.0.3" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-binary-format", @@ -4675,7 +4675,7 @@ dependencies = [ [[package]] name = "move-resource-viewer" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4690,7 +4690,7 @@ dependencies = [ [[package]] name = "move-stackless-bytecode" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "codespan", "codespan-reporting", @@ -4717,7 +4717,7 @@ dependencies = [ [[package]] name = "move-stackless-bytecode-interpreter" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bytecode-interpreter-crypto", @@ -4735,7 +4735,7 @@ dependencies = [ [[package]] name = "move-stdlib" version = "0.1.1" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "hex", @@ -4758,7 +4758,7 @@ dependencies = [ [[package]] name = "move-symbol-pool" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "once_cell", "serde 1.0.151", @@ -4767,7 +4767,7 @@ dependencies = [ [[package]] name = "move-table-extension" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "bcs", @@ -4784,7 +4784,7 @@ dependencies = [ [[package]] name = "move-transactional-test-runner" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "clap 3.2.23", @@ -4816,7 +4816,7 @@ dependencies = [ [[package]] name = "move-unit-test" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "better_any", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "move-vm-runtime" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "better_any", "fail 0.4.0", @@ -4864,7 +4864,7 @@ dependencies = [ [[package]] name = "move-vm-test-utils" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-binary-format", @@ -4877,7 +4877,7 @@ dependencies = [ [[package]] name = "move-vm-types" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "bcs", "move-binary-format", @@ -7020,7 +7020,7 @@ dependencies = [ [[package]] name = "read-write-set" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-binary-format", @@ -7035,7 +7035,7 @@ dependencies = [ [[package]] name = "read-write-set-dynamic" version = "0.1.0" -source = "git+https://github.com/move-language/move?rev=265e8792ff2935db8246ddb308b36b893d507851#265e8792ff2935db8246ddb308b36b893d507851" +source = "git+https://github.com/move-language/move?rev=a8e95cbae69564d8928c9873b8acfabc50e642cf#a8e95cbae69564d8928c9873b8acfabc50e642cf" dependencies = [ "anyhow", "move-binary-format", diff --git a/Cargo.toml b/Cargo.toml index d5d549cec811a..4a51808196b46 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -104,26 +104,26 @@ opt-level = 1 tokio = "1.22.0" # Move dependencies -move-binary-format = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-cli = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-compiler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-core-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["address20"] } -move-disassembler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-package = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-stdlib = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-vm-runtime = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-unit-test = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-vm-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-command-line-common = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-prover = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-symbol-pool = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-binary-format = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-cli = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-compiler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-core-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["address20"] } +move-disassembler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-package = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-stdlib = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-vm-runtime = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-unit-test = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-vm-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-command-line-common = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-prover = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-symbol-pool = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "f64e36ceed674ccd46938cfd9645a2d32a923656" } fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "f64e36ceed674ccd46938cfd9645a2d32a923656", package = "fastcrypto-zkp" } diff --git a/crates/sui-adapter/src/adapter.rs b/crates/sui-adapter/src/adapter.rs index 3f9c9d4058563..e42333387b2b8 100644 --- a/crates/sui-adapter/src/adapter.rs +++ b/crates/sui-adapter/src/adapter.rs @@ -69,7 +69,10 @@ pub fn new_move_vm(natives: NativeFunctionTable) -> Result { max_value_stack_size: MAX_VALUE_STACK_SIZE, max_type_nodes: Some(MAX_TYPE_NODES), max_push_size: Some(MAX_PUSH_SIZE), - max_dependency_depth: MAX_DEPENDENCY_DEPTH, + max_dependency_depth: Some(MAX_DEPENDENCY_DEPTH), + max_fields_in_struct: Some(MAX_FIELDS_IN_STRUCT), + max_function_definitions: Some(MAX_FUNCTION_DEFINITIONS), + max_struct_definitions: Some(MAX_STRUCT_DEFINITIONS), }, max_binary_format_version: MOVE_BINARY_FORMAT_VERSION, paranoid_type_checks: false, diff --git a/crates/sui-config/tests/snapshots/snapshot_tests__empty_genesis_snapshot_matches.snap b/crates/sui-config/tests/snapshots/snapshot_tests__empty_genesis_snapshot_matches.snap index c8c6059cdd4ea..b45fb88671630 100644 --- a/crates/sui-config/tests/snapshots/snapshot_tests__empty_genesis_snapshot_matches.snap +++ b/crates/sui-config/tests/snapshots/snapshot_tests__empty_genesis_snapshot_matches.snap @@ -2,5 +2,5 @@ source: crates/sui-config/tests/snapshot_tests.rs expression: genesis --- -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ZXh0B2Rlc3Ryb3kJZ2FzX3ByaWNlC1N0YWtpbmdQb29sGGdldF9zdGFraW5nX3Bvb2xfbXV0X3JlZgxpc19kdXBsaWNhdGUIbWV0YWRhdGEGT3B0aW9uDUVwb2NoVGltZUxvY2sDbmV3FHBlbmRpbmdfc3Rha2VfYW1vdW50EHBlbmRpbmdfd2l0aGRyYXcpcHJvY2Vzc19wZW5kaW5nX2RlbGVnYXRpb25zX2FuZF93aXRoZHJhd3MWcmVxdWVzdF9hZGRfZGVsZWdhdGlvbhFyZXF1ZXN0X2FkZF9zdGFrZRtyZXF1ZXN0X3NldF9jb21taXNzaW9uX3JhdGUVcmVxdWVzdF9zZXRfZ2FzX3ByaWNlCkRlbGVnYXRpb24JU3Rha2VkU3VpG3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbgVTdGFrZRZyZXF1ZXN0X3dpdGhkcmF3X3N0YWtlDHN0YWtlX2Ftb3VudAtzdWlfYWRkcmVzcxp2ZXJpZnlfcHJvb2Zfb2ZfcG9zc2Vzc2lvbg1wZW5kaW5nX3N0YWtlF2RlbGVnYXRpb25fc3Rha2luZ19wb29sDHB1YmtleV9ieXRlcxRuZXR3b3JrX3B1YmtleV9ieXRlcxN3b3JrZXJfcHVia2V5X2J5dGVzE3Byb29mX29mX3Bvc3Nlc3Npb24EbmFtZQtuZXRfYWRkcmVzcxFjb25zZW5zdXNfYWRkcmVzcw53b3JrZXJfYWRkcmVzcxBuZXh0X2Vwb2NoX3N0YWtlFW5leHRfZXBvY2hfZGVsZWdhdGlvbhRuZXh0X2Vwb2NoX2dhc19wcmljZRpuZXh0X2Vwb2NoX2NvbW1pc3Npb25fcmF0ZQtzdWlfYmFsYW5jZQV2YWx1ZQ9kZXBvc2l0X3Jld2FyZHMXZGVhY3RpdmF0ZV9zdGFraW5nX3Bvb2wGU3RyaW5nBnN0cmluZwZjcmVhdGUFZXBvY2gbcHJvY2Vzc19wZW5kaW5nX2RlbGVnYXRpb25zJHByb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9uX3dpdGhkcmF3cw53aXRoZHJhd19zdGFrZQh0b19ieXRlcwZhcHBlbmQjYmxzMTIzODFfbWluX3NpZ192ZXJpZnlfd2l0aF9kb21haW4AAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAA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BgEIBQMLBgEIBQQDCwYBCAUECwYBCAUECwYBCAUEAwEGCAIBBQEIBQELBgEJAAIHCBIHCwQBCAUBBwgSAgcLBgEJAAsGAQkAAQYIEAEGCwYBCQACBwsGAQkAAwYHCBAHCwYBCAUHCwYBCAUHCwYBCAUGCxECBQsLAQUHCAICBQsLAQUBCxECCQAJAQMBAwgQAQoIAwEIEAEIDwEIEgEIAAEJAAULBgEIBQMLBgEIBQsHAQgFCwYBCAUBCwcBCAUCBwsHAQkACgsHAQkAAQsHAQkAAQYLCAEJAAEBAQsIAQkAAgsGAQkABwgCAgkABQoLBgEIBQgJAwsGAQgFCwYBCAUICQMDCAkLBgEIBQELCgEIBQELCgEJAAILBgEJAAgJAQYICQEICQQLBgEJAAgJBQcIAgIGCxECCQAJAQYJAAEGCQEBCwsBCQADBgUHCwsBBQUCBggQBQMHCxECCQAJAQkACQECBwsRAgkACQEGCQABBwkBAgYLCwEJAAYJAAIHCwsBCQAJAAUHCBAFCwYBCAULCAEICQcIAgQHCBALBgEIBQsIAQgJBwgCAQgDAQYLBwEJAA4FCgIKAgoCCgIKAgoCCgIKAgsGAQgFCwgBCAkDAwcIAgIHCBAIAwIHCBAGCAIDBwgQAwYIAgYHCBAHCAwHCA0FAwcIAgUHCBAHCAwHCA0DBwgCBQcIEAcIDgMDBwgCAgcLCwEJAAYJAAdnZW5lc2lzCnN1aV9zeXN0ZW0Gb3B0aW9uB2JhbGFuY2UEY29pbg9lcG9jaF90aW1lX2xvY2sLbG9ja2VkX2NvaW4Gb2JqZWN0A3BheQVzdGFrZQ1zdGFrZV9zdWJzaWR5DHN0YWtpbmdfcG9vbANzdWkIdHJhbnNmZXIKdHhfY29udGV4dAl2YWxpZGF0b3INdmFsaWRhdG9yX3NldAd2ZWNfbWFwB3ZlY19zZXQOU3VpU3lzdGVtU3RhdGUQU3lzdGVtUGFyYW1ldGVycwlUeENvbnRleHQNYWR2YW5jZV9lcG9jaAlWYWxpZGF0b3IGU3VwcGx5A1NVSQdCYWxhbmNlBmNyZWF0ZQVlcG9jaARDb2luBk9wdGlvbhRleHRyYWN0X2NvaW5fYmFsYW5jZQ1FcG9jaFRpbWVMb2NrCkxvY2tlZENvaW4bZXh0cmFjdF9sb2NrZWRfY29pbl9iYWxhbmNlBlZlY1NldBBnZXRfcmVwb3J0ZXJzX29mEHJlcG9ydF92YWxpZGF0b3IWcmVxdWVzdF9hZGRfZGVsZWdhdGlvbh9yZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uX211bF9jb2luJnJlcXVlc3RfYWRkX2RlbGVnYXRpb25fbXVsX2xvY2tlZF9jb2luJ3JlcXVlc3RfYWRkX2RlbGVnYXRpb25fd2l0aF9sb2NrZWRfY29pbhFyZXF1ZXN0X2FkZF9zdGFrZSJyZXF1ZXN0X2FkZF9zdGFrZV93aXRoX2xvY2tlZF9jb2luFXJlcXVlc3RfYWRkX3ZhbGlkYXRvchhyZXF1ZXN0X3JlbW92ZV92YWxpZGF0b3IbcmVxdWVzdF9zZXRfY29tbWlzc2lvbl9yYXRlFXJlcXVlc3Rfc2V0X2dhc19wcmljZQpEZWxlZ2F0aW9uCVN0YWtlZFN1aRlyZXF1ZXN0X3N3aXRjaF9kZWxlZ2F0aW9uG3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbgVTdGFrZRZyZXF1ZXN0X3dpdGhkcmF3X3N0YWtlFXVuZG9fcmVwb3J0X3ZhbGlkYXRvchl2YWxpZGF0b3JfZGVsZWdhdGVfYW1vdW50FnZhbGlkYXRvcl9zdGFrZV9hbW91bnQCaWQDVUlECGNoYWluX2lkCnZhbGlkYXRvcnMMVmFsaWRhdG9yU2V0CnN1aV9zdXBwbHkMc3RvcmFnZV9mdW5kCnBhcmFtZXRlcnMTcmVmZXJlbmNlX2dhc19wcmljZRh2YWxpZGF0b3JfcmVwb3J0X3JlY29yZHMGVmVjTWFwDFN0YWtlU3Vic2lkeRNtaW5fdmFsaWRhdG9yX3N0YWtlHW1heF92YWxpZGF0b3JfY2FuZGlkYXRlX2NvdW50EXN0b3JhZ2VfZ2FzX3ByaWNlBnNlbmRlchZjcmVhdGVfc3Rha2luZ19yZXdhcmRzDHdpdGhkcmF3X2FsbARqb2luFnRvdGFsX2RlbGVnYXRpb25fc3Rha2UVdG90YWxfdmFsaWRhdG9yX3N0YWtlBXZhbHVlBXNwbGl0GmRlcml2ZV9yZWZlcmVuY2VfZ2FzX3ByaWNlF2Rlc3Ryb3lfc3RvcmFnZV9yZWJhdGVzBWVtcHR5A25ldxBzdWlfc3lzdGVtX3N0YXRlDHNoYXJlX29i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KyUrHywpLSkuKS8pMCUCBwgGCggEAwoFCgsHAQgIAwIIBgcICQABBggAAQMCBwgGCwcBCAgBCAABCAUCBggGAwUHCAYFAwgKBwgJAgUDAQgGAwUDCwcBCAEBCAQCBwgGBwgJBQcIBgsHAQgICwsBCAwFBwgJBQcIBgcIAAcIBQMHCAkBBggFAQYIBgEFBQcIAgcIBQcIAAMHCAkEBwgGBwgABwgFAwMLBwEIAQsHAQgICwsBCAwDBwgABwgFAwILBwEICAsLAQgMAwcIBgMLBwEIAQELBwEICAcFCgUDCwcBCAgKCwcBCAgDCwcBCAEBBgoJAAEBAQgIAQYLBwEJAAEHCAkBCA0BCAIBCQABCAECBwsHAQkACwcBCQACCwcBCAEDAQsHAQkAAQgMAQYLCwEJAAELCwEJAAEGCw4BCQADAwMLBwEIAQIHCw4BCQADAgkABQELDgEJAAEIAwUFAwsHAQgIAwsHAQgBAgsHAQkABwgJAQsPAQkAAQsPAQgIAwUICgMCCAUDAQYICQEGCQABCAoEBQsHAQgICwsBCAwLBwEIAQQLBwEJAAgMBQcICQgFBwgGCwcBCAgDCwcBCAgLCwEIDAMLBwEIAQQBCwcBCAgLCwEIDAQCBwsHAQkAAwUIDAsHAQgICwsBCAwLBwEICAgMAQcLCwEJAAQDAwMDAgcLDgEJAAsHAQkACXZhbGlkYXRvcg12YWxpZGF0b3Jfc2V0DHN0YWtpbmdfcG9vbAZvcHRpb24GdmVjdG9yB2JhbGFuY2UEY29pbg9lcG9jaF90aW1lX2xvY2sLbG9ja2VkX2NvaW4Gb2JqZWN0A3N1aQh0cmFuc2Zlcgp0eF9jb250ZXh0CkRlbGVnYXRpb24PRGVsZWdhdGlvblRva2VuE0luYWN0aXZlU3Rha2luZ1Bvb2wWUGVuZGluZ0RlbGVnYXRpb25FbnRyeRRQZW5kaW5nV2l0aGRyYXdFbnRyeQlTdGFrZWRTdWkLU3Rha2luZ1Bvb2wHQmFsYW5jZQNTVUkrYmF0Y2hfd2l0aGRyYXdfcmV3YXJkc19hbmRfYnVybl9wb29sX3Rva2VucwlUeENvbnRleHQXZGVhY3RpdmF0ZV9zdGFraW5nX3Bvb2wXZGVsZWdhdGlvbl90b2tlbl9hbW91bnQPZGVwb3NpdF9yZXdhcmRzGGRlc3Ryb3lfZW1wdHlfZGVsZWdhdGlvbhhkZXN0cm95X2VtcHR5X3N0YWtlZF9zdWkOZ2V0X3N1aV9hbW91bnQQZ2V0X3Rva2VuX2Ftb3VudAJJRCNtaW50X2RlbGVnYXRpb25fdG9rZW5zX3RvX2RlbGVnYXRvcgNuZXcabmV3X3BlbmRpbmdfd2l0aGRyYXdfZW50cnkkcHJvY2Vzc19wZW5kaW5nX2RlbGVnYXRpb25fd2l0aGRyYXdzG3Byb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9ucwZPcHRpb24NRXBvY2hUaW1lTG9jaxZyZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uG3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbhFzdGFrZWRfc3VpX2Ftb3VudAtzdWlfYmFsYW5jZRF2YWxpZGF0b3JfYWRkcmVzcxt3aXRoZHJhd19mcm9tX2luYWN0aXZlX3Bvb2wXd2l0aGRyYXdfZnJvbV9wcmluY2lwYWwcd2l0aGRyYXdfZnJvbV9wcmluY2lwYWxfaW1wbCV3aXRoZHJhd19yZXdhcmRzX2FuZF9idXJuX3Bvb2xfdG9rZW5zAmlkA1VJRA1zdGFrZWRfc3VpX2lkC3Bvb2xfdG9rZW5zFHByaW5jaXBhbF9zdWlfYW1vdW50C2R1bW15X2ZpZWxkBHBvb2wJZGVsZWdhdG9yCnN1aV9hbW91bnQZcHJpbmNpcGFsX3dpdGhkcmF3X2Ftb3VudBV3aXRoZHJhd25fcG9vbF90b2tlbnMTcG9vbF9zdGFydGluZ19lcG9jaBhkZWxlZ2F0aW9uX3JlcXVlc3RfZXBvY2gJcHJpbmNpcGFsDnN1aV90b2tlbl9sb2NrDnN0YXJ0aW5nX2Vwb2NoDHJld2FyZHNfcG9vbBdkZWxlZ2F0aW9uX3Rva2VuX3N1cHBseQZTdXBwbHkTcGVuZGluZ19kZWxlZ2F0aW9ucxFwZW5kaW5nX3dpdGhkcmF3cwhpc19lbXB0eQV2YWx1ZQxzaGFyZV9vYmplY3QEam9pbgZkZWxldGUMZGVzdHJveV96ZXJvB2lzX25vbmUMZGVzdHJveV9ub25lDHN1cHBseV92YWx1ZQ9pbmNyZWFzZV9zdXBwbHkEemVybw1jcmVhdGVfc3VwcGx5BENvaW4MZnJvbV9iYWxhbmNlBWVwb2No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AwMDBggCAwkEBAQKAwMDBAYIAgoDAgYIAgYIAgcDAwYICAYICAMDCggIAQgIAQYICAoKCw8BAwMDCxABAwMDAwMGCAIGCggCAQsPAQMCAwkAAQsPAQkAAQoLDwEJAAELEAEJAAEHCxABCQAJBAsDAQgEAwMDAwcIAgsDAQgEAwIHCwMBCQADAQsDAQkAAgcLAwEJAAsDAQkAAQgKAQsJAQkABAcIAgsDAQgECwkBCAoHCAcCBwgCCwMBCAQBBQEJAAMFAwsJAQMBBgsJAQkAAQcLCQEJAAIDCwkBAwIIAAoIDgELBQIJAAkBCgUKBQoIDgUHCAILAwEIBAoLAwEIBAMFBwgCAQYLBQIJAAkBAQcLBQIJAAkBAgkACQEBBwgRAgcIEQoIDgMKBQoLAwEIBAMCBwgCAwELAwEIBAEGCgkABQcIAgsDAQgECwkBCAoFBwgHAgcIAgcIBwIDCAICBwoJAAMCCAIHCAcBBggHAgYKCQAGCQAKBQcIAgULAwEIEgUIDggACwMBCAQDCwkBCAoBBggMBAcIEQcICwcIDAMDCwMBCBILAwEIBAsJAQgKAwUDCwMBCBIBCA4CBgsFAgkACQEGCQABCgkAAwcLBQIJAAkBCQAJAQIHCwUCCQAJAQYJAAEHCQEFBwgCBwgLBwgMAwcIBwUHCAIHCA0DAwcIBwYDAwMDAwMKc3VpX3N5c3RlbQ12YWxpZGF0b3Jfc2V0Bm9wdGlvbgZ2ZWN0b3IHYmFsYW5jZQ9lcG9jaF90aW1lX2xvY2sOcHJpb3JpdHlfcXVldWUFc3Rha2UMc3Rha2luZ19wb29sA3N1aQp0eF9jb250ZXh0CXZhbGlkYXRvcgd2ZWNfbWFwB3ZlY19zZXQNVmFsaWRhdG9yUGFpcgxWYWxpZGF0b3JTZXQJVmFsaWRhdG9yGmFkanVzdF9zdGFrZV9hbmRfZ2FzX3ByaWNlB0JhbGFuY2UDU1VJBlZlY01hcAZWZWNTZXQJVHhDb250ZXh0DWFkdmFuY2VfZXBvY2gaY2FsY3VsYXRlX3F1b3J1bV90aHJlc2hvbGQqY2FsY3VsYXRlX3RvdGFsX3N0YWtlX2FuZF9xdW9ydW1fdGhyZXNob2xkG2NvbXB1dGVfcmV3YXJkX2Rpc3RyaWJ1dGlvbhxjb250YWluc19kdXBsaWNhdGVfdmFsaWRhdG9yEVZhbGlkYXRvck1ldGFkYXRhHGRlcml2ZV9uZXh0X2Vwb2NoX3ZhbGlkYXRvcnMaZGVyaXZlX3JlZmVyZW5jZV9nYXNfcHJpY2URZGlzdHJpYnV0ZV9yZXdhcmQGT3B0aW9uDmZpbmRfdmFsaWRhdG9yEWdldF92YWxpZGF0b3JfbXV0EWdldF92YWxpZGF0b3JfcmVmE2lzX2FjdGl2ZV92YWxpZGF0b3IDbmV3Gm5leHRfZXBvY2hfdmFsaWRhdG9yX2NvdW50I3Byb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9uX3N3aXRjaGVzKXByb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9uc19hbmRfd2l0aGRyYXdzGHByb2Nlc3NfcGVuZGluZ19yZW1vdmFscxpwcm9jZXNzX3BlbmRpbmdfdmFsaWRhdG9ycw1FcG9jaFRpbWVMb2NrFnJlcXVlc3RfYWRkX2RlbGVnYXRpb24RcmVxdWVzdF9hZGRfc3Rha2UVcmVxdWVzdF9hZGRfdmFsaWRhdG9yGHJlcXVlc3RfcmVtb3ZlX3ZhbGlkYXRvchtyZXF1ZXN0X3NldF9jb21taXNzaW9uX3JhdGUVcmVxdWVzdF9zZXRfZ2FzX3ByaWNlCkRlbGVnYXRpb24JU3Rha2VkU3VpGXJlcXVlc3Rfc3dpdGNoX2RlbGVnYXRpb24bcmVxdWVzdF93aXRoZHJhd19kZWxlZ2F0aW9uBVN0YWtlFnJlcXVlc3Rfd2l0aGRyYXdfc3Rha2URc29ydF9yZW1vdmFsX2xpc3QWdG90YWxfZGVsZWdhdGlvbl9zdGFrZRV0b3RhbF92YWxpZGF0b3Jfc3Rha2UZdmFsaWRhdG9yX2RlbGVnYXRlX2Ftb3VudBZ2YWxpZGF0b3Jfc3Rha2VfYW1vdW50BGZyb20CdG8WcXVvcnVtX3N0YWtlX3RocmVzaG9sZBFhY3RpdmVfdmFsaWRhdG9ycxJwZW5kaW5nX3ZhbGlkYXRvcnMQcGVuZGluZ19yZW1vdmFscxVuZXh0X2Vwb2NoX3ZhbGlkYXRvcnMbcGVuZGluZ19kZWxlZ2F0aW9uX3N3aXRjaGVzFFBlbmRpbmdXaXRoZHJhd0VudHJ5BXZhbHVlDHN0YWtlX2Ftb3VudA9kZWxlZ2F0ZV9hbW91bnQMaXNfZHVwbGlj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hbmNlX211dARidXJuBWJ1cm5fBk9wdGlvbgNVcmwJVHhDb250ZXh0D2NyZWF0ZV9jdXJyZW5jeQxkZXN0cm95X3plcm8NZGl2aWRlX2ludG9fbgxmcm9tX2JhbGFuY2UMZ2V0X2RlY2ltYWxzBlN0cmluZw9nZXRfZGVzY3JpcHRpb24MZ2V0X2ljb25fdXJsCGdldF9uYW1lCmdldF9zeW1ib2wMaW50b19iYWxhbmNlBGpvaW4EbWludBFtaW50X2FuZF90cmFuc2ZlcgxtaW50X2JhbGFuY2UDcHV0BXNwbGl0BlN1cHBseQZzdXBwbHkKc3VwcGx5X211dAR0YWtlDHRvdGFsX3N1cHBseRR0cmVhc3VyeV9pbnRvX3N1cHBseRJ1cGRhdGVfZGVzY3JpcHRpb24PdXBkYXRlX2ljb25fdXJsC3VwZGF0ZV9uYW1lDXVwZGF0ZV9zeW1ib2wFdmFsdWUEemVybwJpZANVSUQIZGVjaW1hbHMEbmFtZQZzeW1ib2wLZGVzY3JpcHRpb24IaWNvbl91cmwGZGVsZXRlD2RlY3JlYXNlX3N1cHBseRNpc19vbmVfdGltZV93aXRuZXNzBGVtaXQDbmV3DWNyZWF0ZV9zdXBwbHkEdXRmOA9pbmNyZWFzZV9zdXBwbHkMc3VwcGx5X3ZhbHVlCm5ld191bnNhZmUEc29tZQAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAEDCAAAAAAAAAAAAwgBAAAAAAAAAAMIAgAAAAAAAAAAAgIzCAsECwQBCQABAgYzCAs1AjYICDcICTgICDkLBQEIBgICATUCAwICMwgLKwsKAQkAACICIgMiASIAAQAABgMLADcAAgEBAAAGAwsANgACAgEAABIJCwE6AAwCER8LADYBCwI4AAIDAQQABgULAAsBOAEBAgQBAAAGHA4AOAIEBAUICwYBBwAnCgE5ATgDCgYRIwsAOAQ5AgsGESMLAQsDESULAhEmCwQRJQsFOQMCBQEAABIHCwA6AAwBER8LATgFAgYBAAApOwoBBgAAAAAAAAAAJAQFBQsLAAELAgEHAScKAQoALjgGJQQSBRgLAAELAgEHAidACQAAAAAAAAAADAUGAAAAAAAAAAAMAwoALjgGCgEaDAQoCgMKAQYBAAAAAAAAABcjBDU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lY3JlYXNlX25leHRfZXBvY2hfZGVsZWdhdGlvbg9kZWxlZ2F0ZV9hbW91bnQHQmFsYW5jZQNTVUkaZGVwb3NpdF9kZWxlZ2F0aW9uX3Jld2FyZHMJVHhDb250ZXh0B2Rlc3Ryb3kJZ2FzX3ByaWNlC1N0YWtpbmdQb29sGGdldF9zdGFraW5nX3Bvb2xfbXV0X3JlZgxpc19kdXBsaWNhdGUIbWV0YWRhdGEGT3B0aW9uDUVwb2NoVGltZUxvY2sDbmV3FHBlbmRpbmdfc3Rha2VfYW1vdW50EHBlbmRpbmdfd2l0aGRyYXcpcHJvY2Vzc19wZW5kaW5nX2RlbGVnYXRpb25zX2FuZF93aXRoZHJhd3MWcmVxdWVzdF9hZGRfZGVsZWdhdGlvbhFyZXF1ZXN0X2FkZF9zdGFrZRtyZXF1ZXN0X3NldF9jb21taXNzaW9uX3JhdGUVcmVxdWVzdF9zZXRfZ2FzX3ByaWNlCkRlbGVnYXRpb24JU3Rha2VkU3VpG3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbgVTdGFrZRZyZXF1ZXN0X3dpdGhkcmF3X3N0YWtlDHN0YWtlX2Ftb3VudAtzdWlfYWRkcmVzcxp2ZXJpZnlfcHJvb2Zfb2ZfcG9zc2Vzc2lvbg1wZW5kaW5nX3N0YWtlF2RlbGVnYXRpb25fc3Rha2luZ19wb29sDHB1YmtleV9ieXRlcxRuZXR3b3JrX3B1YmtleV9ieXRlcxN3b3JrZXJfcHVia2V5X2J5dGVzE3Byb29mX29mX3Bvc3Nlc3Npb24EbmFtZQtuZXRfYWRkcmVzcxFjb25zZW5zdXNfYWRkcmVzcw53b3JrZXJfYWRkcmVzcxBuZXh0X2Vwb2NoX3N0YWtlFW5leHRfZXBvY2hfZGVsZWdhdGlvbhRuZXh0X2Vwb2NoX2dhc19wcmljZRpuZXh0X2Vwb2NoX2NvbW1pc3Npb25fcmF0ZQtzdWlfYmFsYW5jZQV2YWx1ZQ9kZXBvc2l0X3Jld2FyZHMXZGVhY3RpdmF0ZV9zdGFraW5nX3Bvb2wGU3RyaW5nBnN0cmluZwZjcmVhdGUFZXBvY2gbcHJvY2Vzc19wZW5kaW5nX2RlbGVnYXRpb25zJHByb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9uX3dpdGhkcmF3cw53aXR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HCAINBwgACgIKAgoCCgIKAgoCCgIKAgsHAQgFAwMHCAICBwgABwgCAwcIAAMHCAIGBwgABwgMBwgNBQMHCAIFBwgABwgMBwgNAwcIAgQHCAAHCA4DBwgCDQQLBgEIBQMLBgEIBQQDCwYBCAUECwYBCAUECwYBCAUEAwEGCAIBBQEIBQELBgEJAAIHCBIHCwQBCAUBBwgSAgcLBgEJAAsGAQkAAQYIEAEGCwYBCQACBwsGAQkAAwYHCBAHCwYBCAUHCwYBCAUHCwYBCAUGCxECBQsLAQUHCAICBQsLAQUBCxECCQAJAQMBAwgQAQoIAwEIEAEIDwEIEgEIAAEJAAULBgEIBQMLBgEIBQsHAQgFCwYBCAUBCwcBCAUCBwsHAQkACgsHAQkAAQsHAQkAAQYLCAEJAAEBAQsIAQkAAgsGAQkABwgCAgkABQoLBgEIBQgJAwsGAQgFCwYBCAUICQMDCAkLBgEIBQELCgEIBQELCgEJAAILBgEJAAgJAQYICQEICQQLBgEJAAgJBQcIAgIGCxECCQAJAQYJAAEGCQEBCwsBCQADBgUHCwsBBQUCBggQBQMHCxECCQAJAQkACQECBwsRAgkACQEGCQABBwkBAgYLCwEJAAYJAAIHCwsBCQAJAAUHCBAFCwYBCAULCAEICQcIAgQHCBALBgEIBQsIAQgJBwgCAQgDAQYLBwEJAA4FCgIKAgoCCgIKAgoCCgIKAgsGAQgFCwgBCAkDAwcIAgIHCBAIAwIHCBAGCAIDBwgQAwYIAgYHCBAHCAwHCA0FAwcIAgUHCBAHCAwHCA0DBwgCBQcIEAcIDgMDBwgCAgcLCwEJAAYJAAdnZW5lc2lzCnN1aV9zeXN0ZW0Gb3B0aW9uB2JhbGFuY2UEY29pbg9lcG9jaF90aW1lX2xvY2sLbG9ja2VkX2NvaW4Gb2JqZWN0A3BheQVzdGFrZQ1zdGFrZV9zdWJzaWR5DHN0YWtpbmdfcG9vbANzdWkIdHJhbnNmZXIKdHhfY29udGV4dAl2YWxpZGF0b3INdmFsaWRhdG9yX3NldAd2ZWNfbWFwB3ZlY19zZXQOU3VpU3lzdGVtU3RhdGUQU3lzdGVtUGFyYW1ldGVycwlUeENvbnRleHQNYWR2YW5jZV9lcG9jaAlWYWxpZGF0b3IGU3VwcGx5A1NVSQdCYWxhbmNlBmNyZWF0ZQVlcG9jaARDb2luBk9wdGlvbhRleHRyYWN0X2NvaW5fYmFsYW5jZQ1FcG9jaFRpbWVMb2NrCkxvY2tlZENvaW4bZXh0cmFjdF9sb2NrZWRfY29pbl9iYWxhbmNlBlZlY1NldBBnZXRfcmVwb3J0ZXJzX29mEHJlcG9ydF92YWxpZGF0b3IWcmVxdWVzdF9hZGRfZGVsZWdhdGlvbh9yZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uX211bF9jb2luJnJlcXVlc3RfYWRkX2RlbGVnYXRpb25fbXVsX2xvY2tlZF9jb2luJ3JlcXVlc3RfYWRkX2RlbGVnYXRpb25fd2l0aF9sb2NrZWRfY29pbhFyZXF1ZXN0X2FkZF9zdGFrZSJyZXF1ZXN0X2FkZF9zdGFrZV93aXRoX2xvY2tlZF9jb2luFXJlcXVlc3RfYWRkX3ZhbGlkYXRvchhyZXF1ZXN0X3JlbW92ZV92YWxpZGF0b3IbcmVxdWVzdF9zZXRfY29tbWlzc2lvbl9yYXRlFXJlcXVlc3Rfc2V0X2dhc19wcmljZQpEZWxlZ2F0aW9uCVN0YWtlZFN1aRlyZXF1ZXN0X3N3aXRjaF9kZWxlZ2F0aW9uG3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbgVTdGFrZRZyZXF1ZXN0X3dpdGhkcmF3X3N0YWtlFXVuZG9fcmVwb3J0X3ZhbGlkYXRvchl2YWxpZGF0b3JfZGVsZWdhdGVfYW1vdW50FnZhbGlkYXRvcl9zdGFrZV9hbW91bnQCaWQDVUlECGNoYWluX2lkCnZhbGlkYXRvcnMMVmFsaWRhdG9yU2V0CnN1aV9zdXBwbHkMc3RvcmFnZV9mdW5kCnBhcmFtZXRlcnMTcmVmZXJlbmNlX2dhc19wcmljZRh2YWxpZGF0b3JfcmVwb3J0X3JlY29yZHMGVmVjTWFwDFN0YWtlU3Vic2lkeRNtaW5fdmFsaWRhdG9yX3N0YWtlHW1heF92YWxpZGF0b3JfY2FuZGlkYXRlX2NvdW50EXN0b3JhZ2VfZ2FzX3ByaWNlBnNlbmRlchZjcmVhdGVfc3Rha2luZ19yZXdhcmRzDHdpdGhkcmF3X2FsbARqb2luFnRvdGFsX2RlbGVnYXRpb25fc3Rha2UVdG90YWxfdmFsaWRhdG9yX3N0YWtlBXZhbHVlBXN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sX3Rva2VucwlUeENvbnRleHQXZGVhY3RpdmF0ZV9zdGFraW5nX3Bvb2wXZGVsZWdhdGlvbl90b2tlbl9hbW91bnQPZGVwb3NpdF9yZXdhcmRzGGRlc3Ryb3lfZW1wdHlfZGVsZWdhdGlvbhhkZXN0cm95X2VtcHR5X3N0YWtlZF9zdWkOZ2V0X3N1aV9hbW91bnQQZ2V0X3Rva2VuX2Ftb3VudAJJRCNtaW50X2RlbGVnYXRpb25fdG9rZW5zX3RvX2RlbGVnYXRvcgNuZXcabmV3X3BlbmRpbmdfd2l0aGRyYXdfZW50cnkkcHJvY2Vzc19wZW5kaW5nX2RlbGVnYXRpb25fd2l0aGRyYXdzG3Byb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9ucwZPcHRpb24NRXBvY2hUaW1lTG9jaxZyZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uG3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbhFzdGFrZWRfc3VpX2Ftb3VudAtzdWlfYmFsYW5jZRF2YWxpZGF0b3JfYWRkcmVzcxt3aXRoZHJhd19mcm9tX2luYWN0aXZlX3Bvb2wXd2l0aGRyYXdfZnJvbV9wcmluY2lwYWwcd2l0aGRyYXdfZnJvbV9wcmluY2lwYWxfaW1wbCV3aXRoZHJhd19yZXdhcmRzX2FuZF9idXJuX3Bvb2xfdG9rZW5zAmlkA1VJRA1zdGFrZWRfc3VpX2lkC3Bvb2xfdG9rZW5zFHByaW5jaXBhbF9zdWlfYW1vdW50C2R1bW15X2ZpZWxkBHBvb2wJZGVsZWdhdG9yCnN1aV9hbW91bnQZcHJpbmNpcGFsX3dpdGhkcmF3X2Ftb3VudBV3aXRoZHJhd25fcG9vbF90b2tlbnMTcG9vbF9zdGFydGluZ19lcG9jaBhkZWxlZ2F0aW9uX3JlcXVlc3RfZXBvY2gJcHJpbmNpcGFsDnN1aV90b2tlbl9sb2NrDnN0YXJ0aW5nX2Vwb2NoDHJld2FyZHNfcG9vbBdkZWxlZ2F0aW9uX3Rva2VuX3N1cHBseQZTdXBwbHkTcGVuZGluZ19kZWxlZ2F0aW9ucxFwZW5kaW5nX3dpdGhkcmF3cwhpc19lbXB0eQV2YWx1ZQxzaGFyZV9vYmplY3QEam9pbgZkZWxldGUMZGVzdHJveV96ZXJvB2l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CBwgBCAICBwgBBggHAwcIAQMGCAcGBwgBBwgLBwgMBQMHCAcFBwgBBwgLBwgMAwcIBwUHCAEHCA0DAwcIBwEHCgMCAwMBCAIEAwoDAwoDAQgEAQYLAwEJAAYDAwMDBggCAwkEBAQKAwMDBAYIAgoDAgYIAgYIAgcDAwYICAYICAMDCggIAQgIAQYICAoKCw8BAwMDCxABAwMDAwMGCAIGCggCAQsPAQMCAwkAAQsPAQkAAQoLDwEJAAELEAEJAAEHCxABCQAJBAsDAQgEAwMDAwcIAgsDAQgEAwIHCwMBCQADAQsDAQkAAgcLAwEJAAsDAQkAAQgKAQsJAQkABAcIAgsDAQgECwkBCAoHCAcCBwgCCwMBCAQBBQEJAAMFAwsJAQMBBgsJAQkAAQcLCQEJAAIDCwkBAwIIAAoIDgELBQIJAAkBCgUKBQoIDgUHCAILAwEIBAoLAwEIBAMFBwgCAQYLBQIJAAkBAQcLBQIJAAkBAgkACQEBBwgRAgcIEQoIDgMKBQoLAwEIBAMCBwgCAwELAwEIBAEGCgkABQcIAgsDAQgECwkBCAoFBwgHAgcIAgcIBwIDCAICBwoJAAMCCAIHCAcBBggHAgYKCQAGCQAKBQcIAgULAwEIEgUIDggACwMBCAQDCwkBCAoBBggMBAcIEQcICwcIDAMDCwMBCBILAwEIBAsJAQgKAwUDCwMBCBIBCA4CBgsFAgkACQEGCQABCgkAAwcLBQIJAAkBCQAJAQIHCwUCCQAJAQYJAAEHCQEFBwgCBwgLBwgMAwcIBwUHCAIHCA0DAwcIBwYDAwMDAwMKc3VpX3N5c3RlbQ12YWxpZGF0b3Jfc2V0Bm9wdGlvbgZ2ZWN0b3IHYmFsYW5jZQ9lcG9jaF90aW1lX2xvY2sOcHJpb3JpdHlfcXVldWUFc3Rha2UMc3Rha2luZ19wb29sA3N1aQp0eF9jb250ZXh0CXZhbGlkYXRvcgd2ZWNfbWFwB3ZlY19zZXQNVmFsaWRhdG9yUGFpcgxWYWxpZGF0b3JTZXQJVmFsaWRhdG9yGmFkanVzdF9zdGFrZV9hbmRfZ2FzX3ByaWNlB0JhbGFuY2UDU1VJBlZlY01hcAZWZWNTZXQJVHhDb250ZXh0DWFkdmFuY2VfZXBvY2gaY2FsY3VsYXRlX3F1b3J1bV90aHJlc2hvbGQqY2FsY3VsYXRlX3RvdGFsX3N0YWtlX2FuZF9xdW9ydW1fdGhyZXNob2xkG2NvbXB1dGVfcmV3YXJkX2Rpc3RyaWJ1dGlvbhxjb250YWluc19kdXBsaWNhdGVfdmFsaWRhdG9yEVZhbGlkYXRvck1ldGFkYXRhHGRlcml2ZV9uZXh0X2Vwb2NoX3ZhbGlkYXRvcnMaZGVyaXZlX3JlZmVyZW5jZV9nYXNfcHJpY2URZGlzdHJpYnV0ZV9yZXdhcmQGT3B0aW9uDmZpbmRfdmFsaWRhdG9yEWdldF92YWxpZGF0b3JfbXV0EWdldF92YWxpZGF0b3JfcmVmE2lzX2FjdGl2ZV92YWxpZGF0b3IDbmV3Gm5leHRfZXBvY2hfdmFsaWRhdG9yX2NvdW50I3Byb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9uX3N3aXRjaGVzKXByb2Nlc3NfcGVuZGluZ19kZWxlZ2F0aW9uc19hbmRfd2l0aGRyYXdzGHByb2Nlc3NfcGVuZGluZ19yZW1vdmFscxpwcm9jZXNzX3BlbmRpbmdfdmFsaWRhdG9ycw1FcG9jaFRpbWVMb2NrFnJlcXVlc3RfYWRkX2RlbGVnYXRpb24RcmVxdWVzdF9hZGRfc3Rha2UVcmVxdWVzdF9hZGRfdmFsaWRhdG9yGHJlcXVlc3RfcmVtb3ZlX3ZhbGlkYXRvchtyZXF1ZXN0X3NldF9jb21taXNzaW9uX3JhdGUVcmVxdWVzdF9zZXRfZ2FzX3ByaWNlCkRlbGVnYXRpb24JU3Rha2VkU3VpGXJlcXVlc3Rfc3dpdGNoX2RlbGVnYXRpb24bcmVxdWVzdF93aXRoZHJhd19kZWxlZ2F0aW9uBVN0YWtlFnJlcXVlc3Rfd2l0aGRyYXdfc3Rha2URc29ydF9yZW1vdmFsX2xpc3QWdG90YWxfZGVsZWdhdGlvbl9zdGFrZRV0b3RhbF92YWxpZGF0b3Jfc3Rha2UZdmFsaWRhdG9yX2RlbGVnYXRlX2Ftb3VudBZ2YWxpZGF0b3Jfc3Rha2VfYW1vdW50BGZyb20CdG8WcXVvcnVtX3N0YWtlX3RocmVzaG9sZBFhY3RpdmVfdmFsaWRhdG9ycxJwZW5kaW5nX3ZhbGlkYXRvcnMQcGVuZGluZ19yZW1vdmFscxVuZXh0X2Vwb2NoX3ZhbGlkYXRvcnMbcGVuZGluZ19kZWxlZ2F0aW9uX3N3aXRjaGVzFFBlbmRpbmdXaXRoZHJhd0VudHJ5BXZhbHVlDHN0YWtlX2Ftb3VudA9kZWxlZ2F0ZV9hbW91bnQMaXNfZHVwbGljYXRlCG1ldGFkYXRhBUVudHJ5DVByaW9yaXR5UXVldWUJZ2FzX3ByaWNlCW5ld19lbnRyeQdwb3BfbWF4BXNwbGl0D2NvbW1pc3Npb25fcmF0ZQRqb2luBG5vbmUaZGVwb3NpdF9kZWxlZ2F0aW9uX3Jld2FyZHMLc3VpX2FkZHJlc3MEc29tZQdpc19zb21lB2V4dHJhY3QFZW1wdHkIaXNfZW1wdHkDcG9wC1N0YWtpbmdQb29sGGdldF9zdGFraW5nX3Bvb2xfbXV0X3JlZitiYXRjaF93aXRoZHJhd19yZXdhcmRzX2FuZF9idXJuX3Bvb2xfdG9rZW5zHmRlY3JlYXNlX25leHRfZXBvY2hfZGVsZWdhdGlvbgZyZW1vdmUHZGVzdHJveQZzZW5kZXIIY29udGFpbnMPRGVsZWdhdGlvblRva2VuEXZhbGlkYXRvcl9hZGRyZXNzF3dpdGhkcmF3X2Zyb21fcHJpbmNpcGFsGm5ld19wZW5kaW5nX3dpdGhkcmF3X2VudHJ5CXNpbmdsZXRvbgZpbnNlcnQHZ2V0X211dAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAEEEBAnAAAAAAAAAAAAAAAAAAAAAgI9BT4FAQIIOgM5Az8DQAoIAkEKCAJCCgNDCggIRAsFAggACggOAAAAACIXCgAuQSMMAgYAAAAAAAAAAAwBCgEKAiMEFAULCgAKAUMjESELAQYBAAAAAAAAABYMAQUGCwABAgEDAAAkQwoAEAAKABABFAoBLjgACgAQAhQKAi44ABEEDAcMCQoADwAOCQsBDgcLAgsDCgURCAoADwARAAoACgURDwoADwAKBREQCgAPAAoADwMREgoACwUREQoALhEGCgAPBBUKABAAEQMMCAwGCgAPARULBgoADwIVCwgLAA8FFQICAAAADBALAEEjDAEGAgAAAAAAAAAKARgGAwAAAAAAAAAaBgEAAAAAAAAAFgZkAAAAAAAAABgLARozAgMAAAAnMQYAAAAAAAAAAAwGBgAAAAAAAAAADAEKAEEjDAMGAAA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 diff --git a/crates/sui-cost/tests/snapshots/calibration__bytecode_disassemble_snapshot.snap b/crates/sui-cost/tests/snapshots/calibration__bytecode_disassemble_snapshot.snap index a067e55c91fde..7b8ccce403f31 100644 --- a/crates/sui-cost/tests/snapshots/calibration__bytecode_disassemble_snapshot.snap +++ b/crates/sui-cost/tests/snapshots/calibration__bytecode_disassemble_snapshot.snap @@ -4,6 +4,9 @@ expression: bytecode_calib --- // Move bytecode v6 module 2.bytecode_calibration_tests { +use 0000000000000000000000000000000000000001::unit_test; + + struct ObjectWithU64Field has drop, store { f0: u64 } @@ -2362,7 +2365,7 @@ B4: unit_test_poison() { B0: 0: LdU64(0) - 1: Call[87](create_signers_for_testing(u64): vector) + 1: Call unit_test::create_signers_for_testing(u64): vector 2: Pop 3: Ret } diff --git a/crates/sui-cost/tests/snapshots/calibration__natives_disassemble_snapshot.snap b/crates/sui-cost/tests/snapshots/calibration__natives_disassemble_snapshot.snap index b42f1aa58fd62..25f8117a3daa4 100644 --- a/crates/sui-cost/tests/snapshots/calibration__natives_disassemble_snapshot.snap +++ b/crates/sui-cost/tests/snapshots/calibration__natives_disassemble_snapshot.snap @@ -4,6 +4,13 @@ expression: natives_calib --- // Move bytecode v6 module 2.natives_calibration_tests { +use 0000000000000000000000000000000000000001::unit_test; +use 0000000000000000000000000000000000000002::event; +use 0000000000000000000000000000000000000002::object; +use 0000000000000000000000000000000000000002::test_scenario; +use 0000000000000000000000000000000000000002::tx_context; + + struct ObjectWithID has store, key { id: UID } @@ -14,7 +21,7 @@ struct StructSimple has copy, drop, store { public calibrate_emit(obj: StructSimple) { B0: 0: MoveLoc[0](obj: StructSimple) - 1: Call[0](emit(StructSimple)) + 1: Call event::emit(StructSimple) 2: Ret } public calibrate_emit_nop(obj: StructSimple) { @@ -38,7 +45,7 @@ B2: B3: 7: LdFalse 8: Pack[1](StructSimple) - 9: Call[0](calibrate_emit(StructSimple)) + 9: Call calibrate_emit(StructSimple) 10: MoveLoc[0](trials: u64) 11: LdU64(1) 12: Sub @@ -62,7 +69,7 @@ B2: B3: 7: LdFalse 8: Pack[1](StructSimple) - 9: Call[1](calibrate_emit_nop(StructSimple)) + 9: Call calibrate_emit_nop(StructSimple) 10: MoveLoc[0](trials: u64) 11: LdU64(1) 12: Sub @@ -85,7 +92,7 @@ B2: 6: Branch(7) B3: 7: LdConst[1](Vector(U8): [20, 58, 152, 93, 167, 79, 226, 37, 178, 4, 92, 23, 45, 107, 211, 144, 189, 133, 95, 8, 110]) - 8: Call[14](calibrate_address_from_bytes(vector)) + 8: Call object::calibrate_address_from_bytes(vector) 9: MoveLoc[0](trials: u64) 10: LdU64(1) 11: Sub @@ -108,7 +115,7 @@ B2: 6: Branch(7) B3: 7: LdConst[1](Vector(U8): [20, 58, 152, 93, 167, 79, 226, 37, 178, 4, 92, 23, 45, 107, 211, 144, 189, 133, 95, 8, 110]) - 8: Call[15](calibrate_address_from_bytes_nop(vector)) + 8: Call object::calibrate_address_from_bytes_nop(vector) 9: MoveLoc[0](trials: u64) 10: LdU64(1) 11: Sub @@ -126,7 +133,7 @@ B0: 0: LdConst[0](U64: [1, 0, 0, 0, 0, 0, 0, 0]) 1: StLoc[3](trials: u64) 2: LdConst[2](Address: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) - 3: Call[16](begin(address): Scenario) + 3: Call test_scenario::begin(address): Scenario 4: StLoc[2](scenario_val: Scenario) 5: MutBorrowLoc[2](scenario_val: Scenario) 6: StLoc[1](scenario: &mut Scenario) @@ -139,15 +146,15 @@ B2: 11: Branch(12) B3: 12: CopyLoc[1](scenario: &mut Scenario) - 13: Call[17](ctx(&mut Scenario): &mut TxContext) - 14: Call[18](new(&mut TxContext): UID) + 13: Call test_scenario::ctx(&mut Scenario): &mut TxContext + 14: Call object::new(&mut TxContext): UID 15: Pack[0](ObjectWithID) 16: StLoc[0](obj: ObjectWithID) 17: ImmBorrowLoc[0](obj: ObjectWithID) - 18: Call[1](calibrate_borrow_uid(&ObjectWithID)) + 18: Call object::calibrate_borrow_uid(&ObjectWithID) 19: MoveLoc[0](obj: ObjectWithID) 20: Unpack[0](ObjectWithID) - 21: Call[20](delete(UID)) + 21: Call object::delete(UID) 22: MoveLoc[3](trials: u64) 23: LdU64(1) 24: Sub @@ -157,7 +164,7 @@ B4: 27: MoveLoc[1](scenario: &mut Scenario) 28: Pop 29: MoveLoc[2](scenario_val: Scenario) - 30: Call[21](end(Scenario): TransactionEffects) + 30: Call test_scenario::end(Scenario): TransactionEffects 31: Pop 32: Ret } @@ -170,7 +177,7 @@ B0: 0: LdConst[0](U64: [1, 0, 0, 0, 0, 0, 0, 0]) 1: StLoc[3](trials: u64) 2: LdConst[2](Address: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) - 3: Call[16](begin(address): Scenario) + 3: Call test_scenario::begin(address): Scenario 4: StLoc[2](scenario_val: Scenario) 5: MutBorrowLoc[2](scenario_val: Scenario) 6: StLoc[1](scenario: &mut Scenario) @@ -183,17 +190,17 @@ B2: 11: Branch(12) B3: 12: CopyLoc[1](scenario: &mut Scenario) - 13: Call[17](ctx(&mut Scenario): &mut TxContext) - 14: Call[18](new(&mut TxContext): UID) + 13: Call test_scenario::ctx(&mut Scenario): &mut TxContext + 14: Call object::new(&mut TxContext): UID 15: Pack[0](ObjectWithID) 16: StLoc[0](obj: ObjectWithID) 17: ImmBorrowLoc[0](obj: ObjectWithID) - 18: Call[1](calibrate_borrow_uid(&ObjectWithID)) + 18: Call object::calibrate_borrow_uid(&ObjectWithID) 19: ImmBorrowLoc[0](obj: ObjectWithID) 20: Pop 21: MoveLoc[0](obj: ObjectWithID) 22: Unpack[0](ObjectWithID) - 23: Call[20](delete(UID)) + 23: Call object::delete(UID) 24: MoveLoc[3](trials: u64) 25: LdU64(1) 26: Sub @@ -203,7 +210,7 @@ B4: 29: MoveLoc[1](scenario: &mut Scenario) 30: Pop 31: MoveLoc[2](scenario_val: Scenario) - 32: Call[21](end(Scenario): TransactionEffects) + 32: Call test_scenario::end(Scenario): TransactionEffects 33: Pop 34: Ret } @@ -266,7 +273,7 @@ B2: B3: 7: LdConst[3](Vector(U8): [32, 58, 152, 93, 167, 79, 226, 37, 178, 4, 92, 23, 45, 107, 211, 144, 189, 133, 95, 8, 110, 62, 157, 82, 91, 70, 191, 226, 69, 17, 67, 21, 50]) 8: LdU64(0) - 9: Call[22](calibrate_derive_id(vector, u64)) + 9: Call tx_context::calibrate_derive_id(vector, u64) 10: MoveLoc[0](trials: u64) 11: LdU64(1) 12: Sub @@ -290,7 +297,7 @@ B2: B3: 7: LdConst[3](Vector(U8): [32, 58, 152, 93, 167, 79, 226, 37, 178, 4, 92, 23, 45, 107, 211, 144, 189, 133, 95, 8, 110, 62, 157, 82, 91, 70, 191, 226, 69, 17, 67, 21, 50]) 8: LdU64(0) - 9: Call[23](calibrate_derive_id_nop(vector, u64)) + 9: Call tx_context::calibrate_derive_id_nop(vector, u64) 10: MoveLoc[0](trials: u64) 11: LdU64(1) 12: Sub @@ -302,7 +309,7 @@ B4: unit_test_poison() { B0: 0: LdU64(0) - 1: Call[24](create_signers_for_testing(u64): vector) + 1: Call unit_test::create_signers_for_testing(u64): vector 2: Pop 3: Ret } diff --git a/crates/sui-cost/tests/snapshots/empirical_transaction_cost__good_snapshot-2.snap b/crates/sui-cost/tests/snapshots/empirical_transaction_cost__good_snapshot-2.snap index 71e4d73b29282..cec92fe4af414 100644 --- a/crates/sui-cost/tests/snapshots/empirical_transaction_cost__good_snapshot-2.snap +++ b/crates/sui-cost/tests/snapshots/empirical_transaction_cost__good_snapshot-2.snap @@ -9,8 +9,8 @@ expression: common_costs_estimate "storage_rebate": 0 }, "Publish": { - "computation_cost": 7471, - "storage_cost": 10672, + "computation_cost": 7484, + "storage_cost": 10690, "storage_rebate": 0 }, "SharedCounterAssertValue": { diff --git a/crates/sui-framework/deps/move-stdlib/sources/vector.move b/crates/sui-framework/deps/move-stdlib/sources/vector.move index c94ef12c14e0f..506414485ce00 100644 --- a/crates/sui-framework/deps/move-stdlib/sources/vector.move +++ b/crates/sui-framework/deps/move-stdlib/sources/vector.move @@ -104,6 +104,7 @@ module std::vector { } /// Return true if `e` is in the vector `v`. + /// Otherwise, returns false. public fun contains(v: &vector, e: &Element): bool { let i = 0; let len = length(v); @@ -148,6 +149,26 @@ module std::vector { pragma intrinsic = true; } + /// Insert `e` at position `i` in the vector `v`. + /// If `i` is in bounds, this shifts the old `v[i]` and all subsequent elements to the right. + /// If `i == length(v)`, this adds `e` to the end of the vector. + /// This is O(n) and preserves ordering of elements in the vector. + /// Aborts if `i > length(v)` + public fun insert(v: &mut vector, e: Element, i: u64) { + let len = length(v); + // i too big abort + if (i > len) abort EINDEX_OUT_OF_BOUNDS; + + push_back(v, e); + while (i < len) { + swap(v, i, len); + i = i + 1 + } + } + spec insert { + pragma intrinsic = true; + } + /// Swap the `i`th element of the vector `v` with the last element and then pop the vector. /// This is O(1), but does not preserve ordering of elements in the vector. /// Aborts if `i` is out of bounds. @@ -196,5 +217,4 @@ module std::vector { v1[i..len(v1)] == v2[i + 1..len(v2)] } } - } diff --git a/crates/sui-protocol-constants/src/lib.rs b/crates/sui-protocol-constants/src/lib.rs index 567a5433de462..f03dfeaa41839 100644 --- a/crates/sui-protocol-constants/src/lib.rs +++ b/crates/sui-protocol-constants/src/lib.rs @@ -33,14 +33,23 @@ pub const MAX_BASIC_BLOCKS: usize = 1024; /// Maximum stack size value. Enforced by the Move bytecode verifier. pub const MAX_VALUE_STACK_SIZE: usize = 1024; -/// Maximum number of type nodes. Enforced by the Move bytecode verifier. +/// Maximum number of "type nodes", a metric for how big a SignatureToken will be when expanded into a fully qualified type. Enforced by the Move bytecode verifier. pub const MAX_TYPE_NODES: usize = 256; -/// Maximum number of pushes in one function. Enforced by the Move bytecode verifier. +/// Maximum number of push instructions in one function. Enforced by the Move bytecode verifier. pub const MAX_PUSH_SIZE: usize = 10000; -/// Maximum dependency depth. Enforced by the Move bytecode verifier. -pub const MAX_DEPENDENCY_DEPTH: u64 = 100; +/// Maximum number of struct definitions in a module. Enforced by the Move bytecode verifier. +pub const MAX_STRUCT_DEFINITIONS: usize = 200; + +/// Maximum number of function definitions in a module. Enforced by the Move bytecode verifier. +pub const MAX_FUNCTION_DEFINITIONS: usize = 1000; + +/// Maximum number of fields allowed in a struct definition. Enforced by the Move bytecode verifier. +pub const MAX_FIELDS_IN_STRUCT: usize = 32; + +/// Maximum dependency depth. Enforced by the Move linker when loading dependent modules. +pub const MAX_DEPENDENCY_DEPTH: usize = 100; /// Maximum number of events that a single Move function can emit. Enforced by the Sui adapter during execution. // TODO: is this per Move function, or per transaction? And if per-function, can't I get around the limit by calling diff --git a/crates/workspace-hack/Cargo.toml b/crates/workspace-hack/Cargo.toml index db20b5da6330c..c92fe8fc6e8ba 100644 --- a/crates/workspace-hack/Cargo.toml +++ b/crates/workspace-hack/Cargo.toml @@ -93,7 +93,7 @@ bstr-6f8ce4dd05d13bba = { package = "bstr", version = "0.2", default-features = bstr-dff4ba8e3ae991db = { package = "bstr", version = "1", features = ["alloc", "std", "unicode"] } bulletproofs = { version = "4", features = ["rand", "std", "thiserror"] } byte-slice-cast = { version = "1", features = ["std"] } -bytecode-interpreter-crypto = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["fiat"] } +bytecode-interpreter-crypto = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["fiat"] } bytemuck = { version = "1", default-features = false } byteorder = { version = "1", features = ["i128", "std"] } bytes = { version = "1", features = ["serde", "std"] } @@ -319,41 +319,41 @@ miniz_oxide = { version = "0.6", default-features = false, features = ["with-all mio-c38e5c1d305a1b54 = { package = "mio", version = "0.8", features = ["net", "os-ext", "os-poll"] } mockall = { version = "0.11", default-features = false } more-asserts = { version = "0.3", default-features = false } -move-abigen = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-binary-format = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-borrow-graph = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-bytecode-source-map = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-bytecode-viewer = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-cli = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-command-line-common = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-compiler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-core-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["address20"] } -move-coverage = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-disassembler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-docgen = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-errmapgen = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-ir-compiler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-to-bytecode = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-to-bytecode-syntax = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-model = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-package = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-prover = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-read-write-set-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-resource-viewer = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-stackless-bytecode-interpreter = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-stdlib = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false, features = ["testing"] } -move-symbol-pool = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-table-extension = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-unit-test = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-vm-runtime = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["debugging", "testing"] } -move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-vm-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-abigen = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-binary-format = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-borrow-graph = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-bytecode-source-map = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-bytecode-viewer = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-cli = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-command-line-common = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-compiler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-core-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["address20"] } +move-coverage = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-disassembler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-docgen = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-errmapgen = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-ir-compiler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-to-bytecode = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-to-bytecode-syntax = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-model = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-package = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-prover = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-read-write-set-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-resource-viewer = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-stackless-bytecode-interpreter = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-stdlib = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false, features = ["testing"] } +move-symbol-pool = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-table-extension = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-unit-test = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-vm-runtime = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["debugging", "testing"] } +move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-vm-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } multiaddr = { version = "0.17", features = ["url"] } multibase = { version = "0.9", features = ["std"] } multihash = { version = "0.17", default-features = false, features = ["alloc", "derive", "identity", "multihash-derive", "multihash-impl", "std"] } @@ -458,8 +458,8 @@ rayon = { version = "1", default-features = false } rayon-core = { version = "1", default-features = false } rcgen-93f6ce9d446188ac = { package = "rcgen", version = "0.10", features = ["pem", "x509-parser"] } rcgen-274715c4dabd11b0 = { package = "rcgen", version = "0.9", features = ["pem"] } -read-write-set = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -read-write-set-dynamic = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } +read-write-set = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +read-write-set-dynamic = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } ref-cast = { version = "1", default-features = false } regex = { version = "1", features = ["aho-corasick", "memchr", "perf", "perf-cache", "perf-dfa", "perf-inline", "perf-literal", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } regex-automata = { version = "0.1", features = ["regex-syntax", "std"] } @@ -738,7 +738,7 @@ bstr-dff4ba8e3ae991db = { package = "bstr", version = "1", features = ["alloc", bulletproofs = { version = "4", features = ["rand", "std", "thiserror"] } bumpalo = { version = "3" } byte-slice-cast = { version = "1", features = ["std"] } -bytecode-interpreter-crypto = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["fiat"] } +bytecode-interpreter-crypto = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["fiat"] } bytemuck = { version = "1", default-features = false } byteorder = { version = "1", features = ["i128", "std"] } bytes = { version = "1", features = ["serde", "std"] } @@ -997,41 +997,41 @@ mio-c38e5c1d305a1b54 = { package = "mio", version = "0.8", features = ["net", "o mockall = { version = "0.11", default-features = false } mockall_derive = { version = "0.11", default-features = false } more-asserts = { version = "0.3", default-features = false } -move-abigen = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-binary-format = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-borrow-graph = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-bytecode-source-map = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-bytecode-viewer = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-cli = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-command-line-common = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-compiler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-core-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["address20"] } -move-coverage = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-disassembler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-docgen = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-errmapgen = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-ir-compiler = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-to-bytecode = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-to-bytecode-syntax = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-ir-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-model = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-package = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-prover = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-read-write-set-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-resource-viewer = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-stackless-bytecode-interpreter = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-stdlib = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false, features = ["testing"] } -move-symbol-pool = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-table-extension = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-unit-test = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -move-vm-runtime = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", features = ["debugging", "testing"] } -move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } -move-vm-types = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851" } +move-abigen = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-binary-format = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-borrow-graph = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-bytecode-source-map = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-bytecode-utils = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-bytecode-verifier = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-bytecode-viewer = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-cli = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-command-line-common = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-compiler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-core-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["address20"] } +move-coverage = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-disassembler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-docgen = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-errmapgen = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-ir-compiler = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-to-bytecode = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-to-bytecode-syntax = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-ir-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-model = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-package = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-prover = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-prover-boogie-backend = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-read-write-set-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-resource-viewer = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-stackless-bytecode = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-stackless-bytecode-interpreter = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-stdlib = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false, features = ["testing"] } +move-symbol-pool = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-table-extension = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-transactional-test-runner = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-unit-test = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +move-vm-runtime = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", features = ["debugging", "testing"] } +move-vm-test-utils = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } +move-vm-types = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf" } multiaddr = { version = "0.17", features = ["url"] } multibase = { version = "0.9", features = ["std"] } multihash = { version = "0.17", default-features = false, features = ["alloc", "derive", "identity", "multihash-derive", "multihash-impl", "std"] } @@ -1161,8 +1161,8 @@ rayon = { version = "1", default-features = false } rayon-core = { version = "1", default-features = false } rcgen-93f6ce9d446188ac = { package = "rcgen", version = "0.10", features = ["pem", "x509-parser"] } rcgen-274715c4dabd11b0 = { package = "rcgen", version = "0.9", features = ["pem"] } -read-write-set = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } -read-write-set-dynamic = { git = "https://github.com/move-language/move", rev = "265e8792ff2935db8246ddb308b36b893d507851", default-features = false } +read-write-set = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } +read-write-set-dynamic = { git = "https://github.com/move-language/move", rev = "a8e95cbae69564d8928c9873b8acfabc50e642cf", default-features = false } readonly = { version = "0.2", default-features = false } ref-cast = { version = "1", default-features = false } ref-cast-impl = { version = "1", default-features = false }