From f69b7f439ebdea6e5c006dc166867e0b735482eb Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 10:03:16 +0800 Subject: [PATCH 01/28] using aptos-core thirdparty move --- Cargo.toml | 54 ++++++++++++++------------- vm/frameworks/src/natives/from_bcs.rs | 10 +---- vm/frameworks/src/natives/token.rs | 6 ++- vm/gas-algebra-ext/src/transaction.rs | 12 ++---- 4 files changed, 38 insertions(+), 44 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1761803000..cff695964d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -343,31 +343,33 @@ log4rs = { version = "1.2.0", features = ["background_rotation", "gzip"] } lru = "0.7.8" merkletree = { version = "0.22.1" } mirai-annotations = "1.10.1" -move-binary-format = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-bytecode-source-map = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-bytecode-verifier = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-cli = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-command-line-common = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-compiler = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-core-types = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-coverage = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-disassembler = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-docgen = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-errmapgen = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-ir-compiler = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-ir-types = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-model = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-package = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-prover = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-prover-test-utils = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-resource-viewer = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-stdlib = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-transactional-test-runner = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-unit-test = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25", features = ["table-extension"] } -move-vm-runtime = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-vm-types = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-table-extension = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25" } -move-vm-test-utils = { git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25", features = ["table-extension"] } + +# Move dependencies +move-binary-format = { path = "../aptos-core/third_party/move/move-binary-format" } +move-bytecode-source-map = { path = "../aptos-core/third_party/move/move-ir-compiler/move-bytecode-source-map" } +move-bytecode-verifier = { path = "../aptos-core/third_party/move/move-bytecode-verifier" } +move-cli = { path = "../aptos-core/third_party/move/tools/move-cli" } +move-command-line-common = { path = "../aptos-core/third_party/move/move-command-line-common" } +move-compiler = { path = "../aptos-core/third_party/move/move-compiler" } +move-core-types = { path = "../aptos-core/third_party/move/move-core/types" } +move-coverage = { path = "../aptos-core/third_party/move/tools/move-coverage" } +move-disassembler = { path = "../aptos-core/third_party/move/tools/move-disassembler" } +move-docgen = { path = "../aptos-core/third_party/move/move-prover/move-docgen" } +move-errmapgen = { path = "../aptos-core/third_party/move/move-prover/move-errmapgen" } +move-ir-compiler = { path = "../aptos-core/third_party/move/move-ir-compiler" } +move-ir-types = { path = "../aptos-core/third_party/move/move-ir/types" } +move-model = { path = "../aptos-core/third_party/move/move-model" } +move-package = { path = "../aptos-core/third_party/move/tools/move-package" } +move-prover = { path = "../aptos-core/third_party/move/move-prover" } +move-prover-test-utils = { path = "../aptos-core/third_party/move/move-prover/test-utils" } +move-resource-viewer = { path = "../aptos-core/third_party/move/tools/move-resource-viewer" } +move-stdlib = { path = "../aptos-core/third_party/move/move-stdlib" } +move-transactional-test-runner = { path = "../aptos-core/third_party/move/testing-infra/transactional-test-runner" } +move-unit-test = { path = "../aptos-core/third_party/move/tools/move-unit-test", features = ["table-extension"] } +move-vm-runtime = { path = "../aptos-core/third_party/move/move-vm/runtime" } +move-vm-types = { path = "../aptos-core/third_party/move/move-vm/types" } +move-table-extension = { path = "../aptos-core/third_party/move/extensions/move-table-extension" } +move-vm-test-utils = { path = "../aptos-core/third_party/move/move-vm/test-utils", features = ["table-extension"] } names = { version = "0.14.0", default-features = false } network-api = { path = "network/api", package = "network-api" } @@ -535,7 +537,7 @@ unsigned-varint = { version = "0.6.0", features = [ "futures", "asynchronous_codec", ] } -vm = { package = "move-binary-format", git = "https://github.com/starcoinorg/move", rev = "905484b15b2a2218013fdb2c034f1d7898d29a25", features = ["fuzzing"] } +vm = { path = "../aptos-core/third_party/move/move-binary-format", package = "move-binary-format", features = ["fuzzing"] } vm-status-translator = { path = "vm/vm-status-translator" } void = "1.0.2" walkdir = "2.3.1" diff --git a/vm/frameworks/src/natives/from_bcs.rs b/vm/frameworks/src/natives/from_bcs.rs index df2352861a..517cdef5cc 100644 --- a/vm/frameworks/src/natives/from_bcs.rs +++ b/vm/frameworks/src/natives/from_bcs.rs @@ -2,9 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 use crate::natives::util::make_native_from_func; -use move_binary_format::errors::{PartialVMError, PartialVMResult}; +use move_binary_format::errors::PartialVMResult; use move_core_types::gas_algebra::{InternalGas, InternalGasPerByte, NumBytes}; -use move_core_types::vm_status::StatusCode; use move_vm_runtime::native_functions::{NativeContext, NativeFunction}; use move_vm_types::loaded_data::runtime_types::Type; use move_vm_types::natives::function::NativeResult; @@ -39,12 +38,7 @@ fn native_from_bytes( let mut cost = gas_params.base; // TODO(Gas): charge for getting the layout - let layout = context.type_to_type_layout(&ty_args[0])?.ok_or_else(|| { - PartialVMError::new(StatusCode::UNKNOWN_INVARIANT_VIOLATION_ERROR).with_message(format!( - "Failed to get layout of type {:?} -- this should not happen", - ty_args[0] - )) - })?; + let layout = context.type_to_type_layout(&ty_args[0])?; let bytes = pop_arg!(args, Vec); //context.charge(gas_params.base + gas_params.per_byte * NumBytes::new(bytes.len() as u64))?; diff --git a/vm/frameworks/src/natives/token.rs b/vm/frameworks/src/natives/token.rs index 9826ccebbe..ce3e1f38e5 100644 --- a/vm/frameworks/src/natives/token.rs +++ b/vm/frameworks/src/natives/token.rs @@ -4,7 +4,6 @@ use move_binary_format::errors::PartialVMResult; use move_core_types::gas_algebra::InternalGas; use move_core_types::language_storage::TypeTag; -use move_core_types::vm_status::sub_status::NFE_TOKEN_INVALID_TYPE_ARG_FAILURE; use move_vm_runtime::native_functions::{NativeContext, NativeFunction}; use move_vm_types::{ loaded_data::runtime_types::Type, natives::function::NativeResult, values::Value, @@ -13,6 +12,9 @@ use smallvec::smallvec; use std::collections::VecDeque; use std::sync::Arc; +// Failure in Token native functions. +pub const NFE_TOKEN_INVALID_TYPE_ARG_FAILURE: u64 = 0x200; + /*************************************************************************************************** * native fun token_name_of * @@ -38,7 +40,7 @@ pub fn native_token_name_of( if let TypeTag::Struct(struct_tag) = type_tag { let mut name = struct_tag.name.as_bytes().to_vec(); let type_args_info = - format_type_params(&struct_tag.type_params).expect("format should never fail"); + format_type_params(&struct_tag.type_args).expect("format should never fail"); name.append(&mut type_args_info.into_bytes()); Ok(NativeResult::ok( cost, diff --git a/vm/gas-algebra-ext/src/transaction.rs b/vm/gas-algebra-ext/src/transaction.rs index e8e06d1552..d2d7276720 100644 --- a/vm/gas-algebra-ext/src/transaction.rs +++ b/vm/gas-algebra-ext/src/transaction.rs @@ -112,18 +112,14 @@ impl TransactionGasParameters { } } -impl ToUnitWithParams for GasUnit { - type Params = TransactionGasParameters; - - fn multiplier(params: &Self::Params) -> u64 { +impl ToUnitWithParams for GasUnit { + fn multiplier(params: &Self) -> u64 { params.scaling_factor().into() } } -impl ToUnitFractionalWithParams for InternalGasUnit { - type Params = TransactionGasParameters; - - fn ratio(params: &Self::Params) -> (u64, u64) { +impl ToUnitFractionalWithParams for InternalGasUnit { + fn ratio(params: &Self) -> (u64, u64) { (1, params.scaling_factor().into()) } } From d19ffe31d66c70d668e9a2fe14c63c58e91604c2 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 15:12:53 +0800 Subject: [PATCH 02/28] fix compiling starcoin-gas-algebra-ext --- vm/gas-algebra-ext/src/instr.rs | 6 +++-- vm/gas-algebra-ext/src/move_stdlib.rs | 34 +++++++++++++-------------- vm/gas-algebra-ext/src/transaction.rs | 28 ++-------------------- 3 files changed, 23 insertions(+), 45 deletions(-) diff --git a/vm/gas-algebra-ext/src/instr.rs b/vm/gas-algebra-ext/src/instr.rs index 141f63d6da..059dceb905 100644 --- a/vm/gas-algebra-ext/src/instr.rs +++ b/vm/gas-algebra-ext/src/instr.rs @@ -6,11 +6,11 @@ //! gas schedule. use crate::gas_meter::EXECUTION_GAS_MULTIPLIER as MUL; -use move_binary_format::errors::PartialVMResult; +// use move_binary_format::errors::PartialVMResult; use move_core_types::gas_algebra::{ InternalGas, InternalGasPerAbstractMemoryUnit, InternalGasPerArg, InternalGasPerByte, }; -use move_vm_types::gas::SimpleInstruction; +// use move_vm_types::gas::SimpleInstruction; // see starcoin/vm/types/src/on_chain_config/genesis_gas_schedule.rs // same order as https://github.com/starcoinorg/starcoin-framework/blob/main/sources/VMConfig.move#instruction_schedule @@ -195,6 +195,7 @@ crate::params::define_gas_parameters!( ] ); +/* impl InstructionGasParameters { pub fn simple_instr_cost(&self, instr: SimpleInstruction) -> PartialVMResult { Ok(match instr { @@ -256,3 +257,4 @@ impl InstructionGasParameters { }) } } +*/ diff --git a/vm/gas-algebra-ext/src/move_stdlib.rs b/vm/gas-algebra-ext/src/move_stdlib.rs index a015309919..8b8f48b169 100644 --- a/vm/gas-algebra-ext/src/move_stdlib.rs +++ b/vm/gas-algebra-ext/src/move_stdlib.rs @@ -27,28 +27,28 @@ crate::natives::define_gas_parameters_for_natives!(GasParameters, "move_stdlib", [.bcs.to_bytes.failure, "bcs.to_bytes.failure", (181 + 1) * MUL], [.bcs.to_bytes.legacy_min_output_size, "bcs.to_bytes.legacy_min_output_size", MUL], - [.vector.length.base, "vector.length.base", (98 + 1) * MUL], - [.vector.empty.base, "vector.empty.base", (84 + 1) * MUL], - [.vector.borrow.base, "vector.borrow.base", (1334 + 1) * MUL], + // [.vector.length.base, "vector.length.base", (98 + 1) * MUL], + // [.vector.empty.base, "vector.empty.base", (84 + 1) * MUL], + // [.vector.borrow.base, "vector.borrow.base", (1334 + 1) * MUL], // [.vector.push_back.base, "vector.push_back.base", 0 * MUL], - [.vector.push_back.legacy_per_abstract_memory_unit, "vector.push_back.legacy_per_abstract_memory_unit", (53 + 1) * MUL], - [.vector.pop_back.base, "vector.pop_back.base", (227 + 1) * MUL], - [.vector.destroy_empty.base, "vector.destroy_empty.base", (572 + 1) * MUL], - [.vector.swap.base, "vector.swap.base", (1436 + 1) * MUL], + // [.vector.push_back.legacy_per_abstract_memory_unit, "vector.push_back.legacy_per_abstract_memory_unit", (53 + 1) * MUL], + // [.vector.pop_back.base, "vector.pop_back.base", (227 + 1) * MUL], + // [.vector.destroy_empty.base, "vector.destroy_empty.base", (572 + 1) * MUL], + // [.vector.swap.base, "vector.swap.base", (1436 + 1) * MUL], // Note(Gas): this initial value is guesswork. [.signer.borrow_address.base, "signer.borrow_address.base", (353 + 1) * MUL], // [.bcs.to_address.base, "bcs.to_address.base", 0 * MUL], - [.bcs.to_address.per_byte, "bcs.to_address.per_byte", (26 + 1) *MUL], - - //[.vector.append.base, optional "vector.append.base", 0 * MUL], - [.vector.append.legacy_per_abstract_memory_unit, optional "vector.append.legacy_per_abstract_memory_unit", (40 + 1) * MUL], - //[.vector.remove.base, optional "vector.remove.base", 0 * MUL], - [.vector.remove.legacy_per_abstract_memory_unit, optional "vector.remove.legacy_per_abstract_memory_unit", (20 + 1) * MUL], - //[.vector.reverse.base, optional "vector.reverse.base", 0 * MUL], - [.vector.reverse.legacy_per_abstract_memory_unit, optional "vector.reverse.legacy_per_abstract_memory_unit", (10 + 1) * MUL], + // [.bcs.to_address.per_byte, "bcs.to_address.per_byte", (26 + 1) *MUL], + + // [.vector.append.base, optional "vector.append.base", 0 * MUL], + // [.vector.append.legacy_per_abstract_memory_unit, optional "vector.append.legacy_per_abstract_memory_unit", (40 + 1) * MUL], + // [.vector.remove.base, optional "vector.remove.base", 0 * MUL], + // [.vector.remove.legacy_per_abstract_memory_unit, optional "vector.remove.legacy_per_abstract_memory_unit", (20 + 1) * MUL], + // [.vector.reverse.base, optional "vector.reverse.base", 0 * MUL], + // [.vector.reverse.legacy_per_abstract_memory_unit, optional "vector.reverse.legacy_per_abstract_memory_unit", (10 + 1) * MUL], // Note(Gas): these initial values are guesswork. - // [.string.check_utf8.base, optional "string.check_utf8.base", 0 * MUL], + // [.string.check_utf8.base, optional "string.check_utf8.base", 0 * MUL], [.string.check_utf8.per_byte, optional "string.check_utf8.per_byte", (4 + 1) * MUL], [.string.is_char_boundary.base, optional "string.is_char_boundary.base", (4 + 1) * MUL], // [.string.sub_string.base, optional "string.sub_string.base", 0 * MUL], @@ -56,5 +56,5 @@ crate::natives::define_gas_parameters_for_natives!(GasParameters, "move_stdlib", // [.string.index_of.base, optional "string.index_of.base", 0 * MUL], [.string.index_of.per_byte_searched, optional "string.index_of.per_byte_searched", (4 + 1) * MUL], // [.vector.spawn_from.base, optional "vector.spawn_from.base", 0 * MUL], - [.vector.spawn_from.legacy_per_abstract_memory_unit, optional "vector.spawn_from.legacy_per_abstract_memory_unit", (4 + 1) * MUL], + // [.vector.spawn_from.legacy_per_abstract_memory_unit, optional "vector.spawn_from.legacy_per_abstract_memory_unit", (4 + 1) * MUL], ], allow_unmapped = 2 /* bcs */ + 2 /* hash */ + 5 /* vector */ + 3 /* string */ + 2 /* type_name */ + UNIT_TEST_ENTRIES); diff --git a/vm/gas-algebra-ext/src/transaction.rs b/vm/gas-algebra-ext/src/transaction.rs index d2d7276720..ad334ca6df 100644 --- a/vm/gas-algebra-ext/src/transaction.rs +++ b/vm/gas-algebra-ext/src/transaction.rs @@ -4,11 +4,8 @@ //! This module defines all the gas parameters for transactions, along with their initial values //! in the genesis and a mapping between the Rust representation and the on-chain gas schedule. -use crate::algebra::{FeePerGasUnit, Gas, GasScalingFactor, GasUnit}; -use move_core_types::gas_algebra::{ - InternalGas, InternalGasPerByte, InternalGasUnit, NumBytes, ToUnitFractionalWithParams, - ToUnitWithParams, -}; +use crate::algebra::{FeePerGasUnit, Gas, GasScalingFactor}; +use move_core_types::gas_algebra::{InternalGas, InternalGasPerByte, NumBytes}; // see starcoin/config/src/genesis_config.rs G_GAS_CONSTANTS_V2 // convert from https://github.com/starcoinorg/starcoin-framework/blob/main/sources/VMConfig.move#GasConstants // modify should with impl From for GasSchedule @@ -84,15 +81,6 @@ crate::params::define_gas_parameters!( ); impl TransactionGasParameters { - // TODO(Gas): Right now we are relying on this to avoid div by zero errors when using the all-zero - // gas parameters. See if there's a better way we can handle this. - fn scaling_factor(&self) -> GasScalingFactor { - match u64::from(self.gas_unit_scaling_factor) { - 0 => 1.into(), - x => x.into(), - } - } - /// Calculate the intrinsic gas for the transaction based upon its size in bytes. pub fn calculate_intrinsic_gas(&self, transaction_size: NumBytes) -> InternalGas { let min_transaction_fee = self.min_transaction_gas_units; @@ -111,15 +99,3 @@ impl TransactionGasParameters { self.global_memory_per_byte_write_cost * self.default_account_size } } - -impl ToUnitWithParams for GasUnit { - fn multiplier(params: &Self) -> u64 { - params.scaling_factor().into() - } -} - -impl ToUnitFractionalWithParams for InternalGasUnit { - fn ratio(params: &Self) -> (u64, u64) { - (1, params.scaling_factor().into()) - } -} From 99dcd0033e5a3d8b39c89401311263bc73dda2c9 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 15:27:37 +0800 Subject: [PATCH 03/28] rename type_params to type_args --- vm/types/src/access_path.rs | 6 +++--- vm/types/src/account_config/constants/account.rs | 2 +- vm/types/src/account_config/constants/event.rs | 2 +- .../account_config/resources/auto_accept_token.rs | 2 +- vm/types/src/account_config/resources/balance.rs | 4 ++-- vm/types/src/lib.rs | 6 +++--- vm/types/src/move_resource.rs | 2 +- vm/types/src/on_chain_config/consensus_config.rs | 2 +- vm/types/src/on_chain_config/flexi_dag_config.rs | 2 +- vm/types/src/on_chain_config/mod.rs | 6 +++--- vm/types/src/on_chain_config/version.rs | 2 +- vm/types/src/on_chain_config/vm_config.rs | 2 +- vm/types/src/on_chain_resource/dao/mod.rs | 4 ++-- vm/types/src/on_chain_resource/epoch.rs | 4 ++-- vm/types/src/on_chain_resource/nft.rs | 12 ++++++------ vm/types/src/on_chain_resource/treasury.rs | 4 ++-- vm/types/src/token/stc.rs | 2 +- vm/types/src/token/token_info.rs | 2 +- 18 files changed, 33 insertions(+), 33 deletions(-) diff --git a/vm/types/src/access_path.rs b/vm/types/src/access_path.rs index bd6171490f..677e98013a 100644 --- a/vm/types/src/access_path.rs +++ b/vm/types/src/access_path.rs @@ -102,7 +102,7 @@ impl AccessPath { address: AccountAddress::random(), module: random_identity(), name: random_identity(), - type_params: vec![], + type_args: vec![], }; Self::new(AccountAddress::random(), DataPath::Resource(struct_tag)) } @@ -264,12 +264,12 @@ impl Arbitrary for DataPath { any::(), vec(any::(), 0..4), ) - .prop_map(|(address, module, name, type_params)| Self::Resource( + .prop_map(|(address, module, name, type_args)| Self::Resource( StructTag { address, module, name, - type_params, + type_args, } )), ] diff --git a/vm/types/src/account_config/constants/account.rs b/vm/types/src/account_config/constants/account.rs index b7cec54b80..5226ed56c3 100644 --- a/vm/types/src/account_config/constants/account.rs +++ b/vm/types/src/account_config/constants/account.rs @@ -30,6 +30,6 @@ pub fn account_struct_tag() -> StructTag { address: CORE_CODE_ADDRESS, module: G_ACCOUNT_MODULE_IDENTIFIER.clone(), name: G_ACCOUNT_STRUCT_NAME.to_owned(), - type_params: vec![], + type_args: vec![], } } diff --git a/vm/types/src/account_config/constants/event.rs b/vm/types/src/account_config/constants/event.rs index 561ad434b3..8ccd4ec502 100644 --- a/vm/types/src/account_config/constants/event.rs +++ b/vm/types/src/account_config/constants/event.rs @@ -37,6 +37,6 @@ pub fn event_handle_generator_struct_tag() -> StructTag { address: CORE_CODE_ADDRESS, module: event_module_name().to_owned(), name: event_handle_generator_struct_name().to_owned(), - type_params: vec![], + type_args: vec![], } } diff --git a/vm/types/src/account_config/resources/auto_accept_token.rs b/vm/types/src/account_config/resources/auto_accept_token.rs index 859ac8bf0c..5cd836ab3f 100644 --- a/vm/types/src/account_config/resources/auto_accept_token.rs +++ b/vm/types/src/account_config/resources/auto_accept_token.rs @@ -26,7 +26,7 @@ impl AutoAcceptToken { && struct_tag.module.as_str() == Self::MODULE_NAME && struct_tag.name.as_str() == Self::STRUCT_NAME { - if let Some(TypeTag::Struct(token_tag)) = struct_tag.type_params.first() { + if let Some(TypeTag::Struct(token_tag)) = struct_tag.type_args.first() { Some((*(token_tag.clone())).into()) } else { None diff --git a/vm/types/src/account_config/resources/balance.rs b/vm/types/src/account_config/resources/balance.rs index 98b56f91e8..f19f22023e 100644 --- a/vm/types/src/account_config/resources/balance.rs +++ b/vm/types/src/account_config/resources/balance.rs @@ -32,7 +32,7 @@ impl BalanceResource { address: CORE_CODE_ADDRESS, name: Self::struct_identifier(), module: Self::module_identifier(), - type_params: vec![TypeTag::Struct(Box::new(token_type_tag))], + type_args: vec![TypeTag::Struct(Box::new(token_type_tag))], } } @@ -47,7 +47,7 @@ impl BalanceResource { && struct_tag.module.as_str() == Self::MODULE_NAME && struct_tag.name.as_str() == Self::STRUCT_NAME { - if let Some(TypeTag::Struct(token_tag)) = struct_tag.type_params.first() { + if let Some(TypeTag::Struct(token_tag)) = struct_tag.type_args.first() { Some((*(token_tag.clone())).into()) } else { None diff --git a/vm/types/src/lib.rs b/vm/types/src/lib.rs index 3f3c0ff470..72e8a8cee1 100644 --- a/vm/types/src/lib.rs +++ b/vm/types/src/lib.rs @@ -42,16 +42,16 @@ pub mod language_storage { return false; } - if filter.type_params.is_empty() { + if filter.type_args.is_empty() { return true; } - if filter.type_params.len() != target.type_params.len() { + if filter.type_args.len() != target.type_args.len() { return false; } for (filter_type_tag, target_type_tag) in - std::iter::zip(filter.type_params.clone(), target.type_params.clone()) + std::iter::zip(filter.type_args.clone(), target.type_args.clone()) { if !type_tag_match(&filter_type_tag, &target_type_tag) { return false; diff --git a/vm/types/src/move_resource.rs b/vm/types/src/move_resource.rs index ac7ddcd3f2..78962293bf 100644 --- a/vm/types/src/move_resource.rs +++ b/vm/types/src/move_resource.rs @@ -32,7 +32,7 @@ pub trait MoveResource { address: crate::language_storage::CORE_CODE_ADDRESS, name: Self::struct_identifier(), module: Self::module_identifier(), - type_params: Self::type_params(), + type_args: Self::type_params(), } } diff --git a/vm/types/src/on_chain_config/consensus_config.rs b/vm/types/src/on_chain_config/consensus_config.rs index c7a30cb793..f9b7a4d54b 100644 --- a/vm/types/src/on_chain_config/consensus_config.rs +++ b/vm/types/src/on_chain_config/consensus_config.rs @@ -40,7 +40,7 @@ impl ConsensusConfig { address: CORE_CODE_ADDRESS, module: G_CONSENSUS_CONFIG_IDENTIFIER.clone(), name: G_CONSENSUS_CONFIG_IDENTIFIER.clone(), - type_params: vec![], + type_args: vec![], })) } } diff --git a/vm/types/src/on_chain_config/flexi_dag_config.rs b/vm/types/src/on_chain_config/flexi_dag_config.rs index 0ab18b0d0a..c7df72cbbd 100644 --- a/vm/types/src/on_chain_config/flexi_dag_config.rs +++ b/vm/types/src/on_chain_config/flexi_dag_config.rs @@ -25,7 +25,7 @@ impl FlexiDagConfig { address: CORE_CODE_ADDRESS, module: Identifier::new(MV_FLEXI_DAG_CONFIG_MODULE_NAME).unwrap(), name: Identifier::new(MV_FLEXI_DAG_CONFIG_STRUCT_NAME).unwrap(), - type_params: vec![], + type_args: vec![], })) } } diff --git a/vm/types/src/on_chain_config/mod.rs b/vm/types/src/on_chain_config/mod.rs index 334b23a901..e3f4abe93c 100644 --- a/vm/types/src/on_chain_config/mod.rs +++ b/vm/types/src/on_chain_config/mod.rs @@ -69,7 +69,7 @@ impl ConfigID { address: AccountAddress::from_hex_literal(self.0).expect("failed to get address"), module: Identifier::new(self.1).expect("failed to get Identifier"), name: Identifier::new(self.2).expect("failed to get Identifier"), - type_params: self.3, + type_args: self.3, } } } @@ -193,11 +193,11 @@ pub fn access_path_for_config( address: CORE_CODE_ADDRESS, module: Identifier::new("Config").unwrap(), name: Identifier::new("Config").unwrap(), - type_params: vec![TypeTag::Struct(Box::new(StructTag { + type_args: vec![TypeTag::Struct(Box::new(StructTag { address: CORE_CODE_ADDRESS, module: module_name, name: config_name, - type_params: params, + type_args: params, }))], }, ) diff --git a/vm/types/src/on_chain_config/version.rs b/vm/types/src/on_chain_config/version.rs index 114ff4217d..03eadf0dee 100644 --- a/vm/types/src/on_chain_config/version.rs +++ b/vm/types/src/on_chain_config/version.rs @@ -42,6 +42,6 @@ pub fn version_config_type_tag() -> TypeTag { address: CORE_CODE_ADDRESS, module: G_VERSION_CONFIG_IDENTIFIER.clone(), name: G_VERSION_CONFIG_IDENTIFIER.clone(), - type_params: vec![], + type_args: vec![], })) } diff --git a/vm/types/src/on_chain_config/vm_config.rs b/vm/types/src/on_chain_config/vm_config.rs index d9fe5d1f64..16e7e3e6f5 100644 --- a/vm/types/src/on_chain_config/vm_config.rs +++ b/vm/types/src/on_chain_config/vm_config.rs @@ -132,6 +132,6 @@ pub fn vm_config_type_tag() -> TypeTag { address: CORE_CODE_ADDRESS, module: G_VM_CONFIG_IDENTIFIER.clone(), name: G_VM_CONFIG_IDENTIFIER.clone(), - type_params: vec![], + type_args: vec![], })) } diff --git a/vm/types/src/on_chain_resource/dao/mod.rs b/vm/types/src/on_chain_resource/dao/mod.rs index b97a3c1a75..d50ba31270 100644 --- a/vm/types/src/on_chain_resource/dao/mod.rs +++ b/vm/types/src/on_chain_resource/dao/mod.rs @@ -33,7 +33,7 @@ impl DaoGlobalInfo { address: CORE_CODE_ADDRESS, module: Self::module_identifier(), name: Self::struct_identifier(), - type_params: vec![TypeTag::Struct(Box::new(token_type_tag))], + type_args: vec![TypeTag::Struct(Box::new(token_type_tag))], } } @@ -89,7 +89,7 @@ where address: CORE_CODE_ADDRESS, module: Self::module_identifier(), name: Self::struct_identifier(), - type_params: vec![TypeTag::Struct(Box::new(token_type_tag)), A::type_tag()], + type_args: vec![TypeTag::Struct(Box::new(token_type_tag)), A::type_tag()], } } diff --git a/vm/types/src/on_chain_resource/epoch.rs b/vm/types/src/on_chain_resource/epoch.rs index c478239515..aa9899fd29 100644 --- a/vm/types/src/on_chain_resource/epoch.rs +++ b/vm/types/src/on_chain_resource/epoch.rs @@ -109,7 +109,7 @@ impl Epoch { address: CORE_CODE_ADDRESS, name: Self::struct_identifier(), module: Self::module_identifier(), - type_params: vec![], + type_args: vec![], } } @@ -221,7 +221,7 @@ impl EpochData { address: CORE_CODE_ADDRESS, name: Self::struct_identifier(), module: Self::module_identifier(), - type_params: vec![], + type_args: vec![], } } diff --git a/vm/types/src/on_chain_resource/nft.rs b/vm/types/src/on_chain_resource/nft.rs index 3feee51d03..ae5ef6cf7b 100644 --- a/vm/types/src/on_chain_resource/nft.rs +++ b/vm/types/src/on_chain_resource/nft.rs @@ -292,10 +292,10 @@ impl NFTGallery { && struct_tag.module.as_str() == Self::MODULE_NAME && struct_tag.name.as_str() == Self::STRUCT_NAME { - if struct_tag.type_params.len() == 2 { + if struct_tag.type_args.len() == 2 { let (meta_type, body_type) = ( - struct_tag.type_params.first().cloned().unwrap(), - struct_tag.type_params.get(1).cloned().unwrap(), + struct_tag.type_args.first().cloned().unwrap(), + struct_tag.type_args.get(1).cloned().unwrap(), ); Some(NFTType { meta_type, @@ -344,10 +344,10 @@ impl IdentifierNFT { && struct_tag.module.as_str() == Self::MODULE_NAME && struct_tag.name.as_str() == Self::STRUCT_NAME { - if struct_tag.type_params.len() == 2 { + if struct_tag.type_args.len() == 2 { let (meta_type, body_type) = ( - struct_tag.type_params.first().cloned().unwrap(), - struct_tag.type_params.get(1).cloned().unwrap(), + struct_tag.type_args.first().cloned().unwrap(), + struct_tag.type_args.get(1).cloned().unwrap(), ); Some(NFTType { meta_type, diff --git a/vm/types/src/on_chain_resource/treasury.rs b/vm/types/src/on_chain_resource/treasury.rs index f84f6200bc..5814841759 100644 --- a/vm/types/src/on_chain_resource/treasury.rs +++ b/vm/types/src/on_chain_resource/treasury.rs @@ -30,7 +30,7 @@ impl Treasury { address: CORE_CODE_ADDRESS, module: Self::module_identifier(), name: Self::struct_identifier(), - type_params: vec![TypeTag::Struct(Box::new(token_type_tag))], + type_args: vec![TypeTag::Struct(Box::new(token_type_tag))], } } @@ -61,7 +61,7 @@ impl LinearWithdrawCapability { address: CORE_CODE_ADDRESS, module: Self::module_identifier(), name: Self::struct_identifier(), - type_params: vec![TypeTag::Struct(Box::new(token_type_tag))], + type_args: vec![TypeTag::Struct(Box::new(token_type_tag))], } } diff --git a/vm/types/src/token/stc.rs b/vm/types/src/token/stc.rs index e4f951774f..9775dbe2a1 100644 --- a/vm/types/src/token/stc.rs +++ b/vm/types/src/token/stc.rs @@ -26,7 +26,7 @@ pub fn stc_type_tag() -> TypeTag { address: CORE_CODE_ADDRESS, module: G_STC_IDENTIFIER.clone(), name: G_STC_IDENTIFIER.clone(), - type_params: vec![], + type_args: vec![], })) } diff --git a/vm/types/src/token/token_info.rs b/vm/types/src/token/token_info.rs index 90c03bc2fb..0bdc4905ba 100644 --- a/vm/types/src/token/token_info.rs +++ b/vm/types/src/token/token_info.rs @@ -37,7 +37,7 @@ impl TokenInfo { address: CORE_CODE_ADDRESS, module: Self::module_identifier(), name: Self::struct_identifier(), - type_params: vec![TypeTag::Struct(Box::new(token_type_tag))], + type_args: vec![TypeTag::Struct(Box::new(token_type_tag))], } } From 1a25a52886db941183c05252ab7dee8f808fad29 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 18:07:10 +0800 Subject: [PATCH 04/28] fix starcoin-vm-types --- vm/types/src/lib.rs | 4 ---- vm/types/src/transaction_metadata.rs | 9 +++++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/vm/types/src/lib.rs b/vm/types/src/lib.rs index 72e8a8cee1..c0be124f7a 100644 --- a/vm/types/src/lib.rs +++ b/vm/types/src/lib.rs @@ -172,10 +172,6 @@ pub mod loaded_data { } } -pub mod data_store { - pub use move_vm_types::data_store::DataStore; -} - pub mod file_format { pub use vm::file_format::*; } diff --git a/vm/types/src/transaction_metadata.rs b/vm/types/src/transaction_metadata.rs index 4e8f94fe52..0c1da434f1 100644 --- a/vm/types/src/transaction_metadata.rs +++ b/vm/types/src/transaction_metadata.rs @@ -65,8 +65,13 @@ impl TransactionMetadata { sequence_number: txn.sequence_number(), max_gas_amount: txn.max_gas_amount().into(), gas_unit_price: txn.gas_unit_price().into(), - gas_token_code: TokenCode::from_str(txn.gas_token_code().as_str()) - .map_err(|_e| VMStatus::Error(StatusCode::BAD_TRANSACTION_FEE_CURRENCY))?, + gas_token_code: TokenCode::from_str(txn.gas_token_code().as_str()).map_err(|_e| { + VMStatus::Error { + status_code: StatusCode::UNKNOWN_VALIDATION_STATUS, + sub_status: None, + message: None, + } + })?, transaction_size: (txn.txn_size() as u64).into(), expiration_timestamp_secs: txn.expiration_timestamp_secs(), chain_id: txn.chain_id(), From 2a0a7d33aafbea0b6b8e2fbb6bba1b921df68651 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 18:24:51 +0800 Subject: [PATCH 05/28] update starcoin-gas-algebra-ext/starcoin-vm-types --- types/src/lib.rs | 4 ---- vm/gas-algebra-ext/src/instr.rs | 13 +++++-------- vm/gas-algebra-ext/src/transaction.rs | 27 +++++++++++++++++++++++++-- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/types/src/lib.rs b/types/src/lib.rs index 0498cca749..d7d0ef68eb 100644 --- a/types/src/lib.rs +++ b/types/src/lib.rs @@ -34,10 +34,6 @@ pub mod contract_event { pub use starcoin_vm_types::contract_event::*; } -// pub mod time { -// pub use starcoin_vm_types::time::*; -// } - pub mod error; pub mod event { diff --git a/vm/gas-algebra-ext/src/instr.rs b/vm/gas-algebra-ext/src/instr.rs index 059dceb905..2240417f29 100644 --- a/vm/gas-algebra-ext/src/instr.rs +++ b/vm/gas-algebra-ext/src/instr.rs @@ -6,11 +6,11 @@ //! gas schedule. use crate::gas_meter::EXECUTION_GAS_MULTIPLIER as MUL; -// use move_binary_format::errors::PartialVMResult; +use move_binary_format::errors::PartialVMResult; use move_core_types::gas_algebra::{ InternalGas, InternalGasPerAbstractMemoryUnit, InternalGasPerArg, InternalGasPerByte, }; -// use move_vm_types::gas::SimpleInstruction; +use move_vm_types::gas::SimpleInstruction; // see starcoin/vm/types/src/on_chain_config/genesis_gas_schedule.rs // same order as https://github.com/starcoinorg/starcoin-framework/blob/main/sources/VMConfig.move#instruction_schedule @@ -195,7 +195,6 @@ crate::params::define_gas_parameters!( ] ); -/* impl InstructionGasParameters { pub fn simple_instr_cost(&self, instr: SimpleInstruction) -> PartialVMResult { Ok(match instr { @@ -204,10 +203,6 @@ impl InstructionGasParameters { SimpleInstruction::Abort => self.abort, SimpleInstruction::Ret => self.ret, - SimpleInstruction::BrTrue => self.br_true, - SimpleInstruction::BrFalse => self.br_false, - SimpleInstruction::Branch => self.branch, - SimpleInstruction::LdU8 => self.ld_u8, SimpleInstruction::LdU64 => self.ld_u64, SimpleInstruction::LdU128 => self.ld_u128, @@ -254,7 +249,9 @@ impl InstructionGasParameters { SimpleInstruction::CastU16 => self.cast_u16, SimpleInstruction::CastU32 => self.cast_u32, SimpleInstruction::CastU256 => self.cast_u256, + _ => { + panic!("unsupported instr: {:?}", instr) + } }) } } -*/ diff --git a/vm/gas-algebra-ext/src/transaction.rs b/vm/gas-algebra-ext/src/transaction.rs index ad334ca6df..ca6e516d3e 100644 --- a/vm/gas-algebra-ext/src/transaction.rs +++ b/vm/gas-algebra-ext/src/transaction.rs @@ -4,8 +4,10 @@ //! This module defines all the gas parameters for transactions, along with their initial values //! in the genesis and a mapping between the Rust representation and the on-chain gas schedule. -use crate::algebra::{FeePerGasUnit, Gas, GasScalingFactor}; -use move_core_types::gas_algebra::{InternalGas, InternalGasPerByte, NumBytes}; +use crate::algebra::{FeePerGasUnit, Gas, GasScalingFactor, GasUnit}; +use move_core_types::gas_algebra::{ + InternalGas, InternalGasPerByte, InternalGasUnit, NumBytes, ToUnitWithParams, +}; // see starcoin/config/src/genesis_config.rs G_GAS_CONSTANTS_V2 // convert from https://github.com/starcoinorg/starcoin-framework/blob/main/sources/VMConfig.move#GasConstants // modify should with impl From for GasSchedule @@ -81,6 +83,15 @@ crate::params::define_gas_parameters!( ); impl TransactionGasParameters { + // TODO(Gas): Right now we are relying on this to avoid div by zero errors when using the all-zero + // gas parameters. See if there's a better way we can handle this. + fn scaling_factor(&self) -> GasScalingFactor { + match u64::from(self.gas_unit_scaling_factor) { + 0 => 1.into(), + x => x.into(), + } + } + /// Calculate the intrinsic gas for the transaction based upon its size in bytes. pub fn calculate_intrinsic_gas(&self, transaction_size: NumBytes) -> InternalGas { let min_transaction_fee = self.min_transaction_gas_units; @@ -99,3 +110,15 @@ impl TransactionGasParameters { self.global_memory_per_byte_write_cost * self.default_account_size } } + +impl ToUnitWithParams for GasUnit { + fn multiplier(params: &TransactionGasParameters) -> u64 { + params.scaling_factor().into() + } +} + +//impl ToUnitFractionalWithParams for InternalGasUnit { +// fn ratio(params: &TransactionGasParameters) -> (u64, u64) { +// (1, params.scaling_factor().into()) +// } +//} From 3624adc53beef2eaa4ef55abd763f7dfe2fb672c Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 18:49:04 +0800 Subject: [PATCH 06/28] fix starcoin-gas --- vm/starcoin-gas-meter/src/gas_meter.rs | 122 ++++++++----------------- 1 file changed, 38 insertions(+), 84 deletions(-) diff --git a/vm/starcoin-gas-meter/src/gas_meter.rs b/vm/starcoin-gas-meter/src/gas_meter.rs index 8d01d0f4da..abcd22cf9f 100644 --- a/vm/starcoin-gas-meter/src/gas_meter.rs +++ b/vm/starcoin-gas-meter/src/gas_meter.rs @@ -5,10 +5,13 @@ //! parameters and traits to help manipulate them. use move_binary_format::errors::{Location, PartialVMError, PartialVMResult, VMResult}; +use move_binary_format::file_format::CodeOffset; +use move_core_types::account_address::AccountAddress; use move_core_types::gas_algebra::{ AbstractMemorySize, InternalGasPerAbstractMemoryUnit, InternalGasPerArg, InternalGasPerByte, - NumArgs, + NumArgs, NumTypeNodes, }; +use move_core_types::identifier::IdentStr; use move_core_types::language_storage::ModuleId; use move_core_types::{ gas_algebra::{InternalGas, NumBytes}, @@ -17,18 +20,13 @@ use move_core_types::{ use move_vm_types::gas::{GasMeter, SimpleInstruction}; use move_vm_types::views::{TypeView, ValueView}; use starcoin_gas_algebra_ext::{ - FromOnChainGasSchedule, Gas, InitialGasSchedule, ToOnChainGasSchedule, + FromOnChainGasSchedule, Gas, InitialGasSchedule, InstructionGasParameters, + ToOnChainGasSchedule, TransactionGasParameters, }; #[cfg(testing)] use starcoin_logger::prelude::*; use std::collections::BTreeMap; -use move_binary_format::file_format_common::Opcodes; -use move_core_types::account_address::AccountAddress; -use move_core_types::identifier::IdentStr; -use starcoin_gas_algebra_ext::InstructionGasParameters; -use starcoin_gas_algebra_ext::TransactionGasParameters; - /// The size in bytes for a reference on the stack const REFERENCE_SIZE: AbstractMemorySize = AbstractMemorySize::new(8); @@ -36,7 +34,7 @@ const REFERENCE_SIZE: AbstractMemorySize = AbstractMemorySize::new(8); const MIN_EXISTS_DATA_SIZE: AbstractMemorySize = AbstractMemorySize::new(100); /// Gas parameters for all native functions. -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Clone)] pub struct NativeGasParameters { pub move_stdlib: move_stdlib::natives::GasParameters, pub nursery: move_stdlib::natives::NurseryGasParameters, @@ -222,68 +220,6 @@ fn cal_instr_with_byte(per_arg: InternalGasPerByte, size: NumBytes) -> InternalG per_arg * size } -#[allow(dead_code)] -#[inline] -fn simple_instr_to_opcode(instr: SimpleInstruction) -> Opcodes { - match instr { - SimpleInstruction::Nop => Opcodes::NOP, - SimpleInstruction::Ret => Opcodes::RET, - - SimpleInstruction::BrTrue => Opcodes::BR_TRUE, - SimpleInstruction::BrFalse => Opcodes::BR_FALSE, - SimpleInstruction::Branch => Opcodes::BRANCH, - - SimpleInstruction::LdU8 => Opcodes::LD_U8, - SimpleInstruction::LdU64 => Opcodes::LD_U64, - SimpleInstruction::LdU128 => Opcodes::LD_U128, - SimpleInstruction::LdTrue => Opcodes::LD_TRUE, - SimpleInstruction::LdFalse => Opcodes::LD_FALSE, - - SimpleInstruction::FreezeRef => Opcodes::FREEZE_REF, - SimpleInstruction::MutBorrowLoc => Opcodes::MUT_BORROW_LOC, - SimpleInstruction::ImmBorrowLoc => Opcodes::IMM_BORROW_LOC, - SimpleInstruction::ImmBorrowField => Opcodes::IMM_BORROW_FIELD, - SimpleInstruction::MutBorrowField => Opcodes::MUT_BORROW_FIELD, - SimpleInstruction::ImmBorrowFieldGeneric => Opcodes::IMM_BORROW_FIELD_GENERIC, - SimpleInstruction::MutBorrowFieldGeneric => Opcodes::MUT_BORROW_FIELD_GENERIC, - - SimpleInstruction::CastU8 => Opcodes::CAST_U8, - SimpleInstruction::CastU64 => Opcodes::CAST_U64, - SimpleInstruction::CastU128 => Opcodes::CAST_U128, - - SimpleInstruction::Add => Opcodes::ADD, - SimpleInstruction::Sub => Opcodes::SUB, - SimpleInstruction::Mul => Opcodes::MUL, - SimpleInstruction::Mod => Opcodes::MOD, - SimpleInstruction::Div => Opcodes::DIV, - - SimpleInstruction::BitOr => Opcodes::BIT_OR, - SimpleInstruction::BitAnd => Opcodes::BIT_AND, - SimpleInstruction::Xor => Opcodes::XOR, - SimpleInstruction::Shl => Opcodes::SHL, - SimpleInstruction::Shr => Opcodes::SHR, - - SimpleInstruction::Or => Opcodes::OR, - SimpleInstruction::And => Opcodes::AND, - SimpleInstruction::Not => Opcodes::NOT, - - SimpleInstruction::Lt => Opcodes::LT, - SimpleInstruction::Gt => Opcodes::GT, - SimpleInstruction::Le => Opcodes::LE, - SimpleInstruction::Ge => Opcodes::GE, - - SimpleInstruction::Abort => Opcodes::ABORT, - - SimpleInstruction::LdU16 => Opcodes::LD_U16, - SimpleInstruction::LdU32 => Opcodes::LD_U32, - SimpleInstruction::LdU256 => Opcodes::LD_U256, - - SimpleInstruction::CastU16 => Opcodes::CAST_U16, - SimpleInstruction::CastU32 => Opcodes::CAST_U32, - SimpleInstruction::CastU256 => Opcodes::CAST_U256, - } -} - impl GasMeter for StarcoinGasMeter { fn balance_internal(&self) -> InternalGas { self.balance @@ -302,6 +238,18 @@ impl GasMeter for StarcoinGasMeter { self.deduct_gas(cost) } + fn charge_br_true(&mut self, _target_offset: Option) -> PartialVMResult<()> { + Ok(()) + } + + fn charge_br_false(&mut self, _target_offset: Option) -> PartialVMResult<()> { + Ok(()) + } + + fn charge_branch(&mut self, _target_offset: CodeOffset) -> PartialVMResult<()> { + Ok(()) + } + fn charge_pop(&mut self, _popped_val: impl ValueView) -> PartialVMResult<()> { let params = &self.gas_params.instr; let cost = params.pop; @@ -318,7 +266,7 @@ impl GasMeter for StarcoinGasMeter { &mut self, _module_id: &ModuleId, _func_name: &str, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, _num_locals: NumArgs, ) -> PartialVMResult<()> { let params = &self.gas_params.instr; @@ -337,8 +285,8 @@ impl GasMeter for StarcoinGasMeter { &mut self, _module_id: &ModuleId, _func_name: &str, - ty_args: impl ExactSizeIterator, - args: impl ExactSizeIterator, + ty_args: impl ExactSizeIterator, + args: impl ExactSizeIterator, _num_locals: NumArgs, ) -> PartialVMResult<()> { let params = &self.gas_params.instr; @@ -418,7 +366,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_pack( &mut self, is_generic: bool, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, ) -> PartialVMResult<()> { let field_count = AbstractMemorySize::new(args.len() as u64); let params = &self.gas_params.instr; @@ -447,7 +395,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_unpack( &mut self, is_generic: bool, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, ) -> PartialVMResult<()> { #[cfg(testing)] let opcode = { @@ -658,7 +606,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_vec_pack<'a>( &mut self, _ty: impl TypeView + 'a, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, ) -> PartialVMResult<()> { let num_args = NumArgs::new(args.len() as u64); let params = &self.gas_params.instr; @@ -743,7 +691,7 @@ impl GasMeter for StarcoinGasMeter { &mut self, _ty: impl TypeView, expect_num_elements: NumArgs, - _elems: impl ExactSizeIterator, + _elems: impl ExactSizeIterator, ) -> PartialVMResult<()> { let cost = cal_instr_with_arg( self.gas_params.instr.vec_unpack_per_expected_elem, @@ -762,10 +710,12 @@ impl GasMeter for StarcoinGasMeter { self.deduct_gas(cost) } - #[inline] fn charge_load_resource( &mut self, - _loaded: Option<(NumBytes, impl ValueView)>, + _addr: AccountAddress, + _ty: impl TypeView, + _val: Option, + _bytes_loaded: NumBytes, ) -> PartialVMResult<()> { Ok(()) } @@ -774,7 +724,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_native_function( &mut self, amount: InternalGas, - _ret_vals: Option>, + _ret_vals: Option>, ) -> PartialVMResult<()> { #[cfg(testing)] info!( @@ -786,19 +736,23 @@ impl GasMeter for StarcoinGasMeter { fn charge_native_function_before_execution( &mut self, - _ty_args: impl ExactSizeIterator, - _args: impl ExactSizeIterator, + _ty_args: impl ExactSizeIterator, + _args: impl ExactSizeIterator, ) -> PartialVMResult<()> { Ok(()) } fn charge_drop_frame( &mut self, - _locals: impl Iterator, + _locals: impl Iterator, ) -> PartialVMResult<()> { Ok(()) } + fn charge_create_ty(&mut self, _num_nodes: NumTypeNodes) -> PartialVMResult<()> { + Ok(()) + } + // see StandardGasMeter in `aptos-core` fn charge_dependency( &mut self, From 930a2e541b7cb4b5a3f217747f33aa35e46e1b87 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 18:51:00 +0800 Subject: [PATCH 07/28] fix starcoin-abi-types --- abi/types/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abi/types/src/lib.rs b/abi/types/src/lib.rs index 60784b3d48..350e3f159d 100644 --- a/abi/types/src/lib.rs +++ b/abi/types/src/lib.rs @@ -505,7 +505,7 @@ impl StructInstantiation { address: *self.module_name.address(), module: self.module_name.name().to_owned(), name: Identifier::new(self.name.as_str())?, - type_params: self + type_args: self .ty_args .iter() .map(|t| t.ty.type_tag()) From 5837af8f285432f801bcd3347228ac74d611f5b5 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 21:14:09 +0800 Subject: [PATCH 08/28] fix starcoin-resource-viewer --- vm/resource-viewer/src/fat_type.rs | 2 +- vm/resource-viewer/src/lib.rs | 6 +++++- vm/resource-viewer/src/resolver.rs | 8 +++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/vm/resource-viewer/src/fat_type.rs b/vm/resource-viewer/src/fat_type.rs index ced9498fa3..fffa32c4d6 100644 --- a/vm/resource-viewer/src/fat_type.rs +++ b/vm/resource-viewer/src/fat_type.rs @@ -102,7 +102,7 @@ impl FatStructType { address: self.address, module: self.module.clone(), name: self.name.clone(), - type_params: ty_args, + type_args: ty_args, }) } } diff --git a/vm/resource-viewer/src/lib.rs b/vm/resource-viewer/src/lib.rs index 48febc6732..ab650586f1 100644 --- a/vm/resource-viewer/src/lib.rs +++ b/vm/resource-viewer/src/lib.rs @@ -162,7 +162,11 @@ impl<'a> MoveValueAnnotator<'a> { .map_err(|e| e.finish(Location::Undefined).into_vm_status())?; let field_names = self.cache.get_field_names(ty)?; let mut annotated_fields = vec![]; - for (ty, v) in ty.layout.iter().zip(move_struct.fields().iter()) { + for (ty, v) in ty + .layout + .iter() + .zip(move_struct.optional_variant_and_fields().1.iter()) + { annotated_fields.push(self.annotate_value(v, ty)?); } Ok(AnnotatedMoveStruct { diff --git a/vm/resource-viewer/src/resolver.rs b/vm/resource-viewer/src/resolver.rs index 86ccfda37b..070687ebf3 100644 --- a/vm/resource-viewer/src/resolver.rs +++ b/vm/resource-viewer/src/resolver.rs @@ -89,7 +89,7 @@ impl<'a> Resolver<'a> { let struct_def = find_struct_def_in_module(module.as_ref(), struct_tag.name.as_ident_str())?; let ty_args = struct_tag - .type_params + .type_args .iter() .map(|ty| self.resolve_type(ty)) .collect::>>()?; @@ -110,6 +110,9 @@ impl<'a> Resolver<'a> { .iter() .map(|field_def| module.identifier_at(field_def.name).to_owned()) .collect()), + StructFieldInformation::DeclaredVariants(_) => { + todo!() + } } } @@ -200,6 +203,9 @@ impl<'a> Resolver<'a> { .map(|field_def| self.resolve_signature(module, &field_def.signature.0)) .collect::>()?, }), + StructFieldInformation::DeclaredVariants(_) => { + todo!() + } } } } From ae2d6604e76753330b553249f76d7f640cc5252c Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 21:27:51 +0800 Subject: [PATCH 09/28] fix starcoin-vm-compiler --- vm/compiler/src/lib.rs | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/vm/compiler/src/lib.rs b/vm/compiler/src/lib.rs index b9f0b4cd12..7c9daa76f2 100644 --- a/vm/compiler/src/lib.rs +++ b/vm/compiler/src/lib.rs @@ -18,7 +18,6 @@ use regex::{Captures, Regex}; use starcoin_vm_types::account_address::AccountAddress; use starcoin_vm_types::compatibility::Compatibility; use starcoin_vm_types::file_format::CompiledModule; -use starcoin_vm_types::normalized::Module; use starcoin_vm_types::{errors::Location, errors::VMResult}; use std::collections::{BTreeMap, HashMap}; use std::fs::OpenOptions; @@ -192,24 +191,19 @@ pub fn compile_source_string_no_report( targets, deps.to_vec(), starcoin_framework_named_addresses(), - ) - .set_flags(Flags::empty().set_sources_shadow_deps(true)); + Flags::empty().set_sources_shadow_deps(true), + &std::collections::BTreeSet::new(), + ); compiler.build() } /// check module compatibility pub fn check_module_compat(pre_code: &[u8], new_code: &[u8]) -> VMResult { - let pre_module = - CompiledModule::deserialize(pre_code).map_err(|e| e.finish(Location::Undefined))?; - let new_module = - CompiledModule::deserialize(new_code).map_err(|e| e.finish(Location::Undefined))?; - - let old = Module::new(&pre_module); - let new = Module::new(&new_module); - if Compatibility::new(true, true, false) - .check(&old, &new) - .is_err() - { + let old = CompiledModule::deserialize(pre_code).map_err(|e| e.finish(Location::Undefined))?; + let new = CompiledModule::deserialize(new_code).map_err(|e| e.finish(Location::Undefined))?; + + // the first argument check_struct_and_pub_function_linking is always true now + if Compatibility::new(true, false).check(&old, &new).is_err() { Ok(false) } else { Ok(true) @@ -218,13 +212,10 @@ pub fn check_module_compat(pre_code: &[u8], new_code: &[u8]) -> VMResult { /// check module compatibility pub fn check_compiled_module_compat( - pre: &CompiledModule, + old: &CompiledModule, new: &CompiledModule, ) -> PartialVMResult<()> { - let old = Module::new(pre); - let new = Module::new(new); - - Compatibility::new(true, true, false).check(&old, &new) + Compatibility::new(true, false).check(&old, &new) } /// Load bytecode file, return the bytecode bytes, and whether it's script. From a6ef37dfe609b1d87fdf65128dac76348b0bc6bf Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 21:31:30 +0800 Subject: [PATCH 10/28] fix stdlib --- vm/stdlib/src/compat.rs | 2 +- vm/stdlib/src/lib.rs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/vm/stdlib/src/compat.rs b/vm/stdlib/src/compat.rs index 3d0822c571..9d2021f121 100644 --- a/vm/stdlib/src/compat.rs +++ b/vm/stdlib/src/compat.rs @@ -49,7 +49,7 @@ impl StdlibCompat for StdlibVersion { address: genesis_address(), module: Identifier::new("UpgradeModuleDaoProposal").unwrap(), name: Identifier::new(struct_name).unwrap(), - type_params: vec![], + type_args: vec![], })) } diff --git a/vm/stdlib/src/lib.rs b/vm/stdlib/src/lib.rs index 7d0820a4ab..45aa487223 100644 --- a/vm/stdlib/src/lib.rs +++ b/vm/stdlib/src/lib.rs @@ -7,6 +7,7 @@ use anyhow::{bail, ensure, format_err, Result}; use include_dir::{include_dir, Dir}; use log::{debug, info, LevelFilter}; use move_bytecode_verifier::{dependencies, verify_module}; +use move_compiler::Flags; use once_cell::sync::Lazy; use sha2::{Digest, Sha256}; use starcoin_crypto::hash::PlainCryptoHash; @@ -170,9 +171,11 @@ pub fn build_stdlib(targets: &[String]) -> BTreeMap { targets.to_vec(), vec![], starcoin_framework_named_addresses(), + Flags::empty(), + &std::collections::BTreeSet::new(), ) - .build() - .unwrap(); + .build() + .unwrap(); let (units, warnings) = unwrap_or_report_diagnostics(&files, units_res); println!( "{}", From 81faf378dcf3b8c4f06121f45145a7c0ab9be726 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 21:50:04 +0800 Subject: [PATCH 11/28] fix account --- account/api/src/types.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/account/api/src/types.rs b/account/api/src/types.rs index 928f806115..d7a7d9d879 100644 --- a/account/api/src/types.rs +++ b/account/api/src/types.rs @@ -38,7 +38,7 @@ impl AccountInfo { is_default, is_readonly, is_locked, - receipt_identifier: address.to_bech32(), + receipt_identifier: address.to_standard_string(), } } @@ -61,7 +61,7 @@ impl AccountInfo { is_readonly: false, is_locked: false, public_key: account_public_key, - receipt_identifier: address.to_bech32(), + receipt_identifier: address.to_standard_string(), } } } From cbd9868ee5c40f75a3ab5952610c798d382764db Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 21:50:17 +0800 Subject: [PATCH 12/28] fix starcoin-gas --- vm/starcoin-gas-meter/src/gas_meter.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/vm/starcoin-gas-meter/src/gas_meter.rs b/vm/starcoin-gas-meter/src/gas_meter.rs index abcd22cf9f..78adbc7de3 100644 --- a/vm/starcoin-gas-meter/src/gas_meter.rs +++ b/vm/starcoin-gas-meter/src/gas_meter.rs @@ -266,7 +266,7 @@ impl GasMeter for StarcoinGasMeter { &mut self, _module_id: &ModuleId, _func_name: &str, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, _num_locals: NumArgs, ) -> PartialVMResult<()> { let params = &self.gas_params.instr; @@ -285,8 +285,8 @@ impl GasMeter for StarcoinGasMeter { &mut self, _module_id: &ModuleId, _func_name: &str, - ty_args: impl ExactSizeIterator, - args: impl ExactSizeIterator, + ty_args: impl ExactSizeIterator, + args: impl ExactSizeIterator, _num_locals: NumArgs, ) -> PartialVMResult<()> { let params = &self.gas_params.instr; @@ -366,7 +366,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_pack( &mut self, is_generic: bool, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, ) -> PartialVMResult<()> { let field_count = AbstractMemorySize::new(args.len() as u64); let params = &self.gas_params.instr; @@ -395,7 +395,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_unpack( &mut self, is_generic: bool, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, ) -> PartialVMResult<()> { #[cfg(testing)] let opcode = { @@ -606,7 +606,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_vec_pack<'a>( &mut self, _ty: impl TypeView + 'a, - args: impl ExactSizeIterator, + args: impl ExactSizeIterator, ) -> PartialVMResult<()> { let num_args = NumArgs::new(args.len() as u64); let params = &self.gas_params.instr; @@ -691,7 +691,7 @@ impl GasMeter for StarcoinGasMeter { &mut self, _ty: impl TypeView, expect_num_elements: NumArgs, - _elems: impl ExactSizeIterator, + _elems: impl ExactSizeIterator, ) -> PartialVMResult<()> { let cost = cal_instr_with_arg( self.gas_params.instr.vec_unpack_per_expected_elem, @@ -724,7 +724,7 @@ impl GasMeter for StarcoinGasMeter { fn charge_native_function( &mut self, amount: InternalGas, - _ret_vals: Option>, + _ret_vals: Option>, ) -> PartialVMResult<()> { #[cfg(testing)] info!( @@ -736,15 +736,15 @@ impl GasMeter for StarcoinGasMeter { fn charge_native_function_before_execution( &mut self, - _ty_args: impl ExactSizeIterator, - _args: impl ExactSizeIterator, + _ty_args: impl ExactSizeIterator, + _args: impl ExactSizeIterator, ) -> PartialVMResult<()> { Ok(()) } fn charge_drop_frame( &mut self, - _locals: impl Iterator, + _locals: impl Iterator, ) -> PartialVMResult<()> { Ok(()) } From a1933b60615ea8962f9f7bdfddc96d36c2deb855 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 22:03:44 +0800 Subject: [PATCH 13/28] fix starcoin-abi-resolver --- abi/resolver/src/lib.rs | 15 ++++++++------- .../src/account/receipt_identifier_cmd.rs | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/abi/resolver/src/lib.rs b/abi/resolver/src/lib.rs index cc45c6369d..08119c235c 100644 --- a/abi/resolver/src/lib.rs +++ b/abi/resolver/src/lib.rs @@ -12,7 +12,8 @@ use starcoin_resource_viewer::module_cache::ModuleCache; use starcoin_resource_viewer::resolver::Resolver; use starcoin_vm_types::access::ModuleAccess; use starcoin_vm_types::file_format::{ - CompiledModule, CompiledScript, FunctionDefinitionIndex, StructDefinitionIndex, Visibility, + self_module_name, CompiledModule, CompiledScript, FunctionDefinitionIndex, + StructDefinitionIndex, Visibility, }; use starcoin_vm_types::identifier::{IdentStr, Identifier}; use starcoin_vm_types::language_storage::{ModuleId, StructTag, TypeTag}; @@ -53,7 +54,7 @@ impl<'a> ABIResolver<'a> { } fn resolve_compiled_module(&self, module: &CompiledModule) -> Result { - let m = Module::new(module); + let m = Module::new(module)?; let module_id = m.module_id(); let structs = m .structs @@ -72,9 +73,9 @@ impl<'a> ABIResolver<'a> { pub fn resolve_script(&self, script_code: Vec) -> Result { let script = CompiledScript::deserialize(&script_code)?; - let script_mod = script_into_module(script); + let script_mod = script_into_module(script, self_module_name().as_str()); - let m = Module::new(&script_mod); + let m = Module::new(&script_mod)?; anyhow::ensure!( m.exposed_functions.len() == 1, "script should only contain one function" @@ -98,7 +99,7 @@ impl<'a> ABIResolver<'a> { let struct_abi = self.resolve_struct(&struct_tag.module_id(), struct_tag.name.as_ident_str())?; let ty_args = struct_tag - .type_params + .type_args .iter() .map(|ty| self.resolve_type_tag(ty)) .collect::>>()?; @@ -132,7 +133,7 @@ impl<'a> ABIResolver<'a> { .resolver .get_module(module_id.address(), module_id.name())?; let struct_def = find_struct_def_in_module(module.as_ref(), name)?; - let (name, s) = Struct::new(&module, module.struct_def_at(struct_def)); + let (name, s) = Struct::new(&module, module.struct_def_at(struct_def))?; self.struct_to_abi(module_id, &name, &s) } pub fn resolve_type(&self, ty: &Type) -> Result { @@ -422,7 +423,7 @@ mod tests { let st = parse_struct_tag( "0x1::Dao::Proposal<0x1::STC::STC, 0x1::MintDaoProposal::MintToken>", ) - .unwrap(); + .unwrap(); r.resolve_struct_tag(&st).unwrap(); } // test struct def diff --git a/cmd/starcoin/src/account/receipt_identifier_cmd.rs b/cmd/starcoin/src/account/receipt_identifier_cmd.rs index 21e5ee161b..98e9864201 100644 --- a/cmd/starcoin/src/account/receipt_identifier_cmd.rs +++ b/cmd/starcoin/src/account/receipt_identifier_cmd.rs @@ -34,7 +34,7 @@ impl CommandAction for ReceiptIdentifierCommand { Ok(ReceiptIdentifierData { address: opt.address_or_receipt.to_hex(), - receipt_identifier: opt.address_or_receipt.to_bech32(), + receipt_identifier: opt.address_or_receipt.to_standard_string(), }) } } From 34a5a0de675911beac5431a7cd8c056d9ec270ed Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 14 Aug 2024 22:25:41 +0800 Subject: [PATCH 14/28] fix move-explain --- vm/move-explain/src/lib.rs | 2 +- vm/vm-status-translator/src/lib.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/vm/move-explain/src/lib.rs b/vm/move-explain/src/lib.rs index 44f469ed8e..e929b7f3b3 100644 --- a/vm/move-explain/src/lib.rs +++ b/vm/move-explain/src/lib.rs @@ -11,5 +11,5 @@ use move_core_types::{ pub fn get_explanation(module_id: &ModuleId, abort_code: u64) -> Option { let error_descriptions: ErrorMapping = bcs_ext::from_bytes(stdlib::ERROR_DESCRIPTIONS).expect("Decode err map failed"); - error_descriptions.get_explanation(module_id, abort_code) + error_descriptions.get_explanation(module_id.name().as_str(), abort_code) } diff --git a/vm/vm-status-translator/src/lib.rs b/vm/vm-status-translator/src/lib.rs index 13cc897b46..3bdd57deab 100644 --- a/vm/vm-status-translator/src/lib.rs +++ b/vm/vm-status-translator/src/lib.rs @@ -129,9 +129,11 @@ impl fmt::Debug for VmStatusExplainView { } => fmt::Debug::fmt( &VMStatus::ExecutionFailure { status_code: StatusCode::try_from(*status).unwrap(), + sub_status: None, location: location.clone(), function: *function, code_offset: *code_offset, + message: None, }, f, ), @@ -145,7 +147,11 @@ pub fn explain_vm_status( ) -> Result { let vm_status_explain = match &vm_status { VMStatus::Executed => VmStatusExplainView::Executed, - VMStatus::Error(c) => VmStatusExplainView::Error(format!("{:?}", c)), + VMStatus::Error { + status_code: c, + sub_status: _, + message: _, + } => VmStatusExplainView::Error(format!("{:?}", c)), VMStatus::MoveAbort(location, abort_code) => VmStatusExplainView::MoveAbort { location: location.clone(), abort_code: *abort_code, @@ -153,9 +159,11 @@ pub fn explain_vm_status( }, VMStatus::ExecutionFailure { status_code, + sub_status: _, location, function, code_offset, + message: _, } => VmStatusExplainView::ExecutionFailure { status_code: format!("{:?}", status_code), status: (*status_code).into(), From c618e50a2bdad92db910c213db36899fc0e04363 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 15 Aug 2024 16:21:42 +0800 Subject: [PATCH 15/28] update starcoin-vm-runtime 1. remove event from SessionOutput 2. no-check for native_params for starcoin-vm 3. add TraversalContext 4. fix VMStatus::Error --- etc/onchain_events.yml | 2 +- etc/starcoin_types.yml | 5 +- executor/tests/readonly_function_call_test.rs | 12 +- .../Cargo.toml | 1 + .../src/remote_state.rs | 4 +- vm/types/src/transaction_metadata.rs | 9 +- vm/vm-runtime/Cargo.toml | 1 + vm/vm-runtime/src/data_cache.rs | 91 +++++++--- vm/vm-runtime/src/errors.rs | 10 +- vm/vm-runtime/src/move_vm_ext/resolver.rs | 6 +- vm/vm-runtime/src/move_vm_ext/session.rs | 36 ++-- vm/vm-runtime/src/move_vm_ext/vm.rs | 4 +- vm/vm-runtime/src/natives.rs | 4 - vm/vm-runtime/src/parallel_executor/mod.rs | 3 +- vm/vm-runtime/src/starcoin_vm.rs | 160 +++++++++++------- .../verifier/transaction_arg_validation.rs | 48 +++--- vm/vm-runtime/src/vm_adapter/adapter.rs | 86 +++++----- 17 files changed, 265 insertions(+), 217 deletions(-) diff --git a/etc/onchain_events.yml b/etc/onchain_events.yml index 06c15f44e3..45dbe09783 100644 --- a/etc/onchain_events.yml +++ b/etc/onchain_events.yml @@ -7,7 +7,7 @@ AccountAddress: NEWTYPESTRUCT: TUPLEARRAY: CONTENT: U8 - SIZE: 16 + SIZE: 32 BlockRewardEvent: STRUCT: - block_number: U64 diff --git a/etc/starcoin_types.yml b/etc/starcoin_types.yml index 34cfe67cd0..c2f6a5213e 100644 --- a/etc/starcoin_types.yml +++ b/etc/starcoin_types.yml @@ -7,7 +7,7 @@ AccountAddress: NEWTYPESTRUCT: TUPLEARRAY: CONTENT: U8 - SIZE: 16 + SIZE: 32 AccountResource: STRUCT: - authentication_key: @@ -275,6 +275,9 @@ TransactionArgument: TUPLEARRAY: CONTENT: U8 SIZE: 32 + 9: + Serialized: + NEWTYPE: BYTES TransactionAuthenticator: ENUM: 0: diff --git a/executor/tests/readonly_function_call_test.rs b/executor/tests/readonly_function_call_test.rs index 3e72355ede..9927351080 100644 --- a/executor/tests/readonly_function_call_test.rs +++ b/executor/tests/readonly_function_call_test.rs @@ -131,12 +131,12 @@ fn test_readonly_function_call() -> Result<()> { vec![TransactionArgument::Address(*account1.address())], None, ) - .map_err(|err| { - assert_eq!( - err.downcast::().unwrap(), - VMStatus::Error(StatusCode::REJECTED_WRITE_SET) - ); - }); + .map_err(|err| { + assert_eq!( + err.downcast::().unwrap(), + VMStatus::error(StatusCode::REJECTED_WRITE_SET, None) + ); + }); Ok(()) } diff --git a/vm/starcoin-transactional-test-harness/Cargo.toml b/vm/starcoin-transactional-test-harness/Cargo.toml index fef9a2591d..63dcdf341b 100644 --- a/vm/starcoin-transactional-test-harness/Cargo.toml +++ b/vm/starcoin-transactional-test-harness/Cargo.toml @@ -27,6 +27,7 @@ move-binary-format = { workspace = true } move-command-line-common = { workspace = true } move-compiler = { workspace = true } move-core-types = { workspace = true } +move-vm-types = { workspace = true } move-transactional-test-runner = { workspace = true } move-table-extension = { workspace = true } once_cell = { workspace = true } diff --git a/vm/starcoin-transactional-test-harness/src/remote_state.rs b/vm/starcoin-transactional-test-harness/src/remote_state.rs index bc3cb6e105..e2b56117ef 100644 --- a/vm/starcoin-transactional-test-harness/src/remote_state.rs +++ b/vm/starcoin-transactional-test-harness/src/remote_state.rs @@ -4,7 +4,7 @@ use anyhow::{anyhow, Result}; use jsonrpc_client_transports::RpcChannel; use move_binary_format::errors::VMError; -use move_core_types::resolver::{ModuleResolver, ResourceResolver}; +use move_vm_types::resolver::{ModuleResolver, ResourceResolver}; use starcoin_crypto::HashValue; use move_table_extension::{TableHandle, TableResolver}; @@ -160,8 +160,6 @@ where A: ModuleResolver, B: ModuleResolver, { - type Error = A::Error; - fn get_module(&self, module_id: &ModuleId) -> Result>, Self::Error> { match self.a.get_module(module_id)? { Some(d) => Ok(Some(d)), diff --git a/vm/types/src/transaction_metadata.rs b/vm/types/src/transaction_metadata.rs index 0c1da434f1..29cce69ab0 100644 --- a/vm/types/src/transaction_metadata.rs +++ b/vm/types/src/transaction_metadata.rs @@ -65,13 +65,8 @@ impl TransactionMetadata { sequence_number: txn.sequence_number(), max_gas_amount: txn.max_gas_amount().into(), gas_unit_price: txn.gas_unit_price().into(), - gas_token_code: TokenCode::from_str(txn.gas_token_code().as_str()).map_err(|_e| { - VMStatus::Error { - status_code: StatusCode::UNKNOWN_VALIDATION_STATUS, - sub_status: None, - message: None, - } - })?, + gas_token_code: TokenCode::from_str(txn.gas_token_code().as_str()) + .map_err(|_e| VMStatus::error(StatusCode::UNKNOWN_VALIDATION_STATUS, None))?, transaction_size: (txn.txn_size() as u64).into(), expiration_timestamp_secs: txn.expiration_timestamp_secs(), chain_id: txn.chain_id(), diff --git a/vm/vm-runtime/Cargo.toml b/vm/vm-runtime/Cargo.toml index 8a7099d636..da6c7232e0 100644 --- a/vm/vm-runtime/Cargo.toml +++ b/vm/vm-runtime/Cargo.toml @@ -37,6 +37,7 @@ starcoin-parallel-executor = { workspace = true } rayon = { workspace = true } num_cpus = { workspace = true } hex = "0.4.3" +bytes = { workspace = true } [dev-dependencies] stdlib = { workspace = true } diff --git a/vm/vm-runtime/src/data_cache.rs b/vm/vm-runtime/src/data_cache.rs index f380f71410..2e988c36ed 100644 --- a/vm/vm-runtime/src/data_cache.rs +++ b/vm/vm-runtime/src/data_cache.rs @@ -3,9 +3,12 @@ //! Scratchpad for on chain values during the execution. use crate::create_access_path; -use anyhow::Error; -use move_core_types::resolver::{ModuleResolver, ResourceResolver}; +use bytes::Bytes; +use move_binary_format::CompiledModule; +use move_core_types::metadata::Metadata; +use move_core_types::value::MoveTypeLayout; use move_table_extension::{TableHandle, TableResolver}; +use move_vm_types::resolver::{resource_size, ModuleResolver, ResourceResolver}; use starcoin_logger::prelude::*; use starcoin_types::account_address::AccountAddress; use starcoin_vm_types::state_store::state_key::StateKey; @@ -88,16 +91,24 @@ impl<'block, S: StateView> StateView for StateViewCache<'block, S> { } impl<'block, S: StateView> ModuleResolver for StateViewCache<'block, S> { - type Error = VMError; + fn get_module_metadata(&self, module_id: &ModuleId) -> Vec { + RemoteStorage::new(self).get_module_metadata(module_id) + } - fn get_module(&self, module_id: &ModuleId) -> VMResult>> { + fn get_module(&self, module_id: &ModuleId) -> PartialVMResult> { RemoteStorage::new(self).get_module(module_id) } } impl<'block, S: StateView> ResourceResolver for StateViewCache<'block, S> { - type Error = VMError; - fn get_resource(&self, address: &AccountAddress, tag: &StructTag) -> VMResult>> { - RemoteStorage::new(self).get_resource(address, tag) + fn get_resource_bytes_with_metadata_and_layout( + &self, + address: &AccountAddress, + struct_tag: &StructTag, + metadata: &[Metadata], + layout: Option<&MoveTypeLayout>, + ) -> PartialVMResult<(Option, usize)> { + RemoteStorage::new(self) + .get_resource_bytes_with_metadata_and_layout(address, struct_tag, metadata, layout) } } @@ -117,22 +128,39 @@ impl<'a, S: StateView> RemoteStorage<'a, S> { } impl<'a, S: StateView> ModuleResolver for RemoteStorage<'a, S> { - type Error = VMError; - fn get_module(&self, module_id: &ModuleId) -> VMResult>> { + fn get_module_metadata(&self, module_id: &ModuleId) -> Vec { + let module = match self.get_module(module_id) { + Ok(Some(module)) => module, + _ => return vec![], + }; + + let compiled_module = match CompiledModule::deserialize(&module) { + Ok(module) => module, + _ => return vec![], + }; + + compiled_module.metadata + } + + fn get_module(&self, module_id: &ModuleId) -> PartialVMResult> { // REVIEW: cache this? let ap = AccessPath::from(module_id); - self.get(&ap).map_err(|e| e.finish(Location::Undefined)) + self.get(&ap).map(|r| r.map(Bytes::from)) } } impl<'a, S: StateView> ResourceResolver for RemoteStorage<'a, S> { - type Error = VMError; - fn get_resource( + // TODO(simon): don't ignore metadata and layout + fn get_resource_bytes_with_metadata_and_layout( &self, address: &AccountAddress, struct_tag: &StructTag, - ) -> VMResult>> { + _metadata: &[Metadata], + _layout: Option<&MoveTypeLayout>, + ) -> PartialVMResult<(Option, usize)> { let ap = create_access_path(*address, struct_tag.clone()); - self.get(&ap).map_err(|e| e.finish(Location::Undefined)) + let buf = self.get(&ap)?.map(Bytes::from); + let size = resource_size(&buf); + Ok((buf, size)) } } @@ -152,13 +180,19 @@ impl<'a, S> Deref for RemoteStorage<'a, S> { } impl<'a, S: StateView> TableResolver for RemoteStorage<'a, S> { - fn resolve_table_entry( + // TODO(simon): don't ignore maybe_layout + fn resolve_table_entry_bytes_with_layout( &self, handle: &TableHandle, key: &[u8], - ) -> Result>, Error> { + _maybe_layout: Option<&MoveTypeLayout>, + ) -> Result, PartialVMError> { self.0 .get_state_value(&StateKey::table_item((*handle).into(), key.to_vec())) + .map(|r| r.map(Bytes::from)) + .map_err(|e| { + PartialVMError::new(StatusCode::STORAGE_ERROR).with_message(format!("{:?}", e)) + }) } } @@ -191,32 +225,37 @@ impl DerefMut for RemoteStorageOwned { } impl ModuleResolver for RemoteStorageOwned { - type Error = VMError; + fn get_module_metadata(&self, module_id: &ModuleId) -> Vec { + self.as_move_resolver().get_module_metadata(module_id) + } - fn get_module(&self, module_id: &ModuleId) -> Result>, Self::Error> { + fn get_module(&self, module_id: &ModuleId) -> PartialVMResult> { self.as_move_resolver().get_module(module_id) } } impl ResourceResolver for RemoteStorageOwned { - type Error = VMError; - - fn get_resource( + fn get_resource_bytes_with_metadata_and_layout( &self, address: &AccountAddress, struct_tag: &StructTag, - ) -> Result>, Self::Error> { - self.as_move_resolver().get_resource(address, struct_tag) + metadata: &[Metadata], + layout: Option<&MoveTypeLayout>, + ) -> PartialVMResult<(Option, usize)> { + self.as_move_resolver() + .get_resource_bytes_with_metadata_and_layout(address, struct_tag, metadata, layout) } } impl TableResolver for RemoteStorageOwned { - fn resolve_table_entry( + fn resolve_table_entry_bytes_with_layout( &self, handle: &TableHandle, key: &[u8], - ) -> Result>, Error> { - self.as_move_resolver().resolve_table_entry(handle, key) + maybe_layout: Option<&MoveTypeLayout>, + ) -> Result, PartialVMError> { + self.as_move_resolver() + .resolve_table_entry_bytes_with_layout(handle, key, maybe_layout) } } diff --git a/vm/vm-runtime/src/errors.rs b/vm/vm-runtime/src/errors.rs index 154012590c..0ada3d9051 100644 --- a/vm/vm-runtime/src/errors.rs +++ b/vm/vm-runtime/src/errors.rs @@ -103,11 +103,11 @@ pub fn convert_prologue_runtime_error(error: VMError) -> Result<(), VMStatus> { StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION } }; - VMStatus::Error(new_major_status) + VMStatus::error(new_major_status, None) } - status @ VMStatus::ExecutionFailure { .. } | status @ VMStatus::Error(_) => { + status @ VMStatus::ExecutionFailure { .. } | status @ VMStatus::Error { .. } => { error!("[starcoin_vm] Unexpected prologue error: {:?}", status); - VMStatus::Error(StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION) + VMStatus::error(StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION, None) } }) } @@ -127,7 +127,7 @@ pub fn convert_normal_success_epilogue_error(error: VMError) -> Result<(), VMSta "[starcoin_vm] Unexpected success epilogue Move abort: {:?}::{:?} (Category: {:?} Reason: {:?})", location, code, category, reason, ); - VMStatus::Error(StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION) + VMStatus::error(StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION, None) } } } @@ -139,7 +139,7 @@ pub fn convert_normal_success_epilogue_error(error: VMError) -> Result<(), VMSta "[starcoin_vm] Unexpected success epilogue error: {:?}", status ); - VMStatus::Error(StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION) + VMStatus::error(StatusCode::UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION, None) } }) } diff --git a/vm/vm-runtime/src/move_vm_ext/resolver.rs b/vm/vm-runtime/src/move_vm_ext/resolver.rs index ac573ee96d..2b3ed2889e 100644 --- a/vm/vm-runtime/src/move_vm_ext/resolver.rs +++ b/vm/vm-runtime/src/move_vm_ext/resolver.rs @@ -1,14 +1,14 @@ // Copyright (c) The Starcoin Core Contributors // SPDX-License-Identifier: Apache-2.0 -use move_core_types::resolver::MoveResolver; use move_table_extension::TableResolver; +use move_vm_types::resolver::MoveResolver; use std::fmt::Debug; -pub trait MoveResolverExt: MoveResolver + TableResolver { +pub trait MoveResolverExt: MoveResolver + TableResolver { type ExtError: Debug; } -impl + TableResolver + ?Sized> MoveResolverExt for T { +impl MoveResolverExt for T { type ExtError = E; } diff --git a/vm/vm-runtime/src/move_vm_ext/session.rs b/vm/vm-runtime/src/move_vm_ext/session.rs index 57c3b8aa42..4ae9518012 100644 --- a/vm/vm-runtime/src/move_vm_ext/session.rs +++ b/vm/vm-runtime/src/move_vm_ext/session.rs @@ -1,8 +1,6 @@ use crate::access_path_cache::AccessPathCache; use move_core_types::account_address::AccountAddress; -use move_core_types::effects::{ - ChangeSet as MoveChangeSet, Event as MoveEvent, Op as MoveStorageOp, -}; +use move_core_types::effects::{ChangeSet as MoveChangeSet, Op as MoveStorageOp}; use move_core_types::language_storage::ModuleId; use move_core_types::vm_status::{StatusCode, VMStatus}; use move_table_extension::TableChangeSet; @@ -11,14 +9,12 @@ use starcoin_crypto::hash::{CryptoHash, CryptoHasher, PlainCryptoHash}; use starcoin_crypto::HashValue; use starcoin_vm_types::block_metadata::BlockMetadata; use starcoin_vm_types::contract_event::ContractEvent; -use starcoin_vm_types::event::EventKey; use starcoin_vm_types::state_store::state_key::StateKey; use starcoin_vm_types::state_store::table::{TableHandle, TableInfo}; use starcoin_vm_types::transaction::SignatureCheckedTransaction; use starcoin_vm_types::transaction_metadata::TransactionMetadata; use starcoin_vm_types::write_set::{WriteOp, WriteSet, WriteSetMut}; use std::collections::BTreeMap; -use std::convert::TryFrom; #[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize, CryptoHasher, CryptoHash)] pub enum SessionId { @@ -71,7 +67,6 @@ impl SessionId { pub struct SessionOutput { pub change_set: MoveChangeSet, - pub events: Vec, pub table_change_set: TableChangeSet, } @@ -89,7 +84,6 @@ impl SessionOutput { > { let Self { change_set, - events, table_change_set, } = self; @@ -101,8 +95,8 @@ impl SessionOutput { let ap = ap_cache.get_resource_path(addr, struct_tag); let op = match blob_opt { MoveStorageOp::Delete => WriteOp::Deletion, - MoveStorageOp::New(blob) => WriteOp::Value(blob), - MoveStorageOp::Modify(blob) => WriteOp::Value(blob), + MoveStorageOp::New(blob) => WriteOp::Value(blob.to_vec()), + MoveStorageOp::Modify(blob) => WriteOp::Value(blob.to_vec()), }; write_set_mut.push((StateKey::AccessPath(ap), op)) } @@ -112,8 +106,8 @@ impl SessionOutput { let ap = ap_cache.get_module_path(ModuleId::new(addr, name)); let op = match blob_opt { MoveStorageOp::Delete => WriteOp::Deletion, - MoveStorageOp::New(blob) => WriteOp::Value(blob), - MoveStorageOp::Modify(blob) => WriteOp::Value(blob), + MoveStorageOp::New(blob) => WriteOp::Value(blob.to_vec()), + MoveStorageOp::Modify(blob) => WriteOp::Value(blob.to_vec()), }; write_set_mut.push((StateKey::AccessPath(ap), op)) @@ -127,10 +121,10 @@ impl SessionOutput { match value_op { MoveStorageOp::Delete => write_set_mut.push((state_key, WriteOp::Deletion)), MoveStorageOp::New(bytes) => { - write_set_mut.push((state_key, WriteOp::Value(bytes))) + write_set_mut.push((state_key, WriteOp::Value(bytes.to_vec()))) } MoveStorageOp::Modify(bytes) => { - write_set_mut.push((state_key, WriteOp::Value(bytes))) + write_set_mut.push((state_key, WriteOp::Value(bytes.to_vec()))) } } } @@ -146,17 +140,9 @@ impl SessionOutput { let write_set = write_set_mut .freeze() - .map_err(|_| VMStatus::Error(StatusCode::DATA_FORMAT_ERROR))?; - - let events = events - .into_iter() - .map(|(guid, seq_num, ty_tag, blob)| { - let key = EventKey::try_from(guid.as_slice()) - .map_err(|_| VMStatus::Error(StatusCode::EVENT_KEY_MISMATCH))?; - Ok(ContractEvent::new(key, seq_num, ty_tag, blob)) - }) - .collect::, VMStatus>>()?; - - Ok((table_infos, write_set, events)) + .map_err(|_| VMStatus::error(StatusCode::DATA_FORMAT_ERROR, None))?; + + // TODO(simon): removed events, use empty vector to avoid compiler complains + Ok((table_infos, write_set, vec![])) } } diff --git a/vm/vm-runtime/src/move_vm_ext/vm.rs b/vm/vm-runtime/src/move_vm_ext/vm.rs index d48e589066..0ffc095369 100644 --- a/vm/vm-runtime/src/move_vm_ext/vm.rs +++ b/vm/vm-runtime/src/move_vm_ext/vm.rs @@ -20,7 +20,7 @@ impl MoveVmExt { // XXX FIXME YSG need add treat_friend_as_private? pub fn new(native_gas_params: NativeGasParameters) -> VMResult { Ok(Self { - inner: MoveVM::new(natives::starcoin_natives(native_gas_params))?, + inner: MoveVM::new(natives::starcoin_natives(native_gas_params)), }) } @@ -28,7 +28,7 @@ impl MoveVmExt { &self, remote: &'r S, session_id: SessionId, - ) -> Session<'r, '_, S> { + ) -> Session<'r, '_> { let mut extensions = NativeContextExtensions::default(); extensions.add(NativeTableContext::new(*session_id.as_uuid(), remote)); self.inner.new_session_with_extensions(remote, extensions) diff --git a/vm/vm-runtime/src/natives.rs b/vm/vm-runtime/src/natives.rs index 2b4d50b41a..e9c0a10aca 100644 --- a/vm/vm-runtime/src/natives.rs +++ b/vm/vm-runtime/src/natives.rs @@ -43,10 +43,6 @@ pub fn starcoin_natives(gas_params: NativeGasParameters) -> NativeFunctionTable "Signature", starcoin_frameworks::natives::signature::make_all(gas_params.starcoin_natives.signature) ); - add_natives_from_module!( - "Vector", - move_stdlib::natives::vector::make_all(gas_params.move_stdlib.vector) - ); add_natives_from_module!( "Event", move_stdlib::natives::event::make_all(gas_params.nursery.clone().event) diff --git a/vm/vm-runtime/src/parallel_executor/mod.rs b/vm/vm-runtime/src/parallel_executor/mod.rs index 15005c0844..e1d18fdcf9 100644 --- a/vm/vm-runtime/src/parallel_executor/mod.rs +++ b/vm/vm-runtime/src/parallel_executor/mod.rs @@ -103,8 +103,9 @@ impl ParallelStarcoinVM { Some(err), )) } - Err(Error::InvariantViolation) => Err(VMStatus::Error( + Err(Error::InvariantViolation) => Err(VMStatus::error( StatusCode::UNKNOWN_INVARIANT_VIOLATION_ERROR, + None, )), Err(Error::UserError(err)) => Err(err), } diff --git a/vm/vm-runtime/src/starcoin_vm.rs b/vm/vm-runtime/src/starcoin_vm.rs index c1ef5b6880..0d9e9d0db2 100644 --- a/vm/vm-runtime/src/starcoin_vm.rs +++ b/vm/vm-runtime/src/starcoin_vm.rs @@ -12,6 +12,7 @@ use anyhow::{bail, format_err, Error, Result}; use move_core_types::gas_algebra::{InternalGasPerByte, NumBytes}; use move_core_types::vm_status::StatusCode::VALUE_SERIALIZATION_ERROR; use move_table_extension::NativeTableContext; +use move_vm_runtime::module_traversal::{TraversalContext, TraversalStorage}; use move_vm_runtime::session::{SerializedReturnValues, Session}; use move_vm_types::gas::GasMeter; use num_cpus; @@ -181,18 +182,18 @@ impl StarcoinVM { let gas_params = StarcoinGasParameters::from_on_chain_gas_schedule(&gs.clone().to_btree_map()); if let Some(ref params) = gas_params { - if params.natives != self.native_params { - debug!("update native_params"); - match Arc::get_mut(&mut self.move_vm) { - None => { - bail!("failed to get move vm when load config"); - } - Some(mv) => { - mv.update_native_functions(params.clone().natives)?; - } + // TODO(simon): do double check + // if params.natives != self.native_params { + debug!("update native_params"); + match Arc::get_mut(&mut self.move_vm) { + None => { + bail!("failed to get move vm when load config"); + } + Some(mv) => { + mv.update_native_functions(params.clone().natives)?; } - self.native_params = params.natives.clone(); } + self.native_params = params.natives.clone(); self.gas_params = gas_params; } } @@ -316,13 +317,13 @@ impl StarcoinVM { self.vm_config .as_ref() .map(|config| &config.gas_schedule) - .ok_or(VMStatus::Error(StatusCode::VM_STARTUP_FAILURE)) + .ok_or(VMStatus::error(StatusCode::VM_STARTUP_FAILURE, None)) } pub fn get_version(&self) -> Result { self.version .clone() - .ok_or(VMStatus::Error(StatusCode::VM_STARTUP_FAILURE)) + .ok_or(VMStatus::error(StatusCode::VM_STARTUP_FAILURE, None)) } pub fn get_move_version(&self) -> Option { self.move_version @@ -334,7 +335,7 @@ impl StarcoinVM { if package_or_script_bytecode_version > supported_move_version.major { // TODO: currently, if the bytecode version of a package or script is higher than onchain config, // return `FEATURE_UNDER_GATING` error, and the txn will not be included in blocks. - return Err(VMStatus::Error(StatusCode::FEATURE_UNDER_GATING)); + return Err(VMStatus::error(StatusCode::FEATURE_UNDER_GATING, None)); } } Ok(()) @@ -349,7 +350,10 @@ impl StarcoinVM { "[VM] Transaction size too big {} (max {})", raw_bytes_len, txn_gas_params.max_transaction_size_in_bytes ); - return Err(VMStatus::Error(StatusCode::EXCEEDED_MAX_TRANSACTION_SIZE)); + return Err(VMStatus::error( + StatusCode::EXCEEDED_MAX_TRANSACTION_SIZE, + None, + )); } // The submitted max gas units that the transaction can consume is greater than the @@ -362,8 +366,9 @@ impl StarcoinVM { txn_data.max_gas_amount(), txn_gas_params.gas_unit_scaling_factor ); - return Err(VMStatus::Error( + return Err(VMStatus::error( StatusCode::MAX_GAS_UNITS_EXCEEDS_MAX_GAS_UNITS_BOUND, + None, )); } @@ -380,8 +385,9 @@ impl StarcoinVM { txn_data.max_gas_amount(), txn_gas_params.gas_unit_scaling_factor ); - return Err(VMStatus::Error( + return Err(VMStatus::error( StatusCode::MAX_GAS_UNITS_BELOW_MIN_TRANSACTION_GAS_UNITS, + None, )); } @@ -396,7 +402,10 @@ impl StarcoinVM { txn_gas_params.min_price_per_gas_unit, txn_data.gas_unit_price() ); - return Err(VMStatus::Error(StatusCode::GAS_UNIT_PRICE_BELOW_MIN_BOUND)); + return Err(VMStatus::error( + StatusCode::GAS_UNIT_PRICE_BELOW_MIN_BOUND, + None, + )); } // The submitted gas price is greater than the maximum gas unit price set by the VM. @@ -406,7 +415,10 @@ impl StarcoinVM { txn_gas_params.max_price_per_gas_unit, txn_data.gas_unit_price() ); - return Err(VMStatus::Error(StatusCode::GAS_UNIT_PRICE_ABOVE_MAX_BOUND)); + return Err(VMStatus::error( + StatusCode::GAS_UNIT_PRICE_ABOVE_MAX_BOUND, + None, + )); } Ok(()) } @@ -442,8 +454,9 @@ impl StarcoinVM { match Self::only_new_module_strategy(remote_cache, package.package_address()) { Err(e) => { warn!("[VM]Update module strategy deserialize err : {:?}", e); - return Err(VMStatus::Error( + return Err(VMStatus::error( StatusCode::FAILED_TO_DESERIALIZE_RESOURCE, + None, )); } Ok(only_new_module) => only_new_module, @@ -507,11 +520,11 @@ impl StarcoinVM { let data_cache = StateViewCache::new(state_view); let signature_verified_txn = match txn.check_signature() { Ok(t) => t, - Err(_) => return Some(VMStatus::Error(StatusCode::INVALID_SIGNATURE)), + Err(_) => return Some(VMStatus::error(StatusCode::INVALID_SIGNATURE, None)), }; if let Err(err) = self.load_configs(state_view) { warn!("Load config error at verify_transaction: {}", err); - return Some(VMStatus::Error(StatusCode::VM_STARTUP_FAILURE)); + return Some(VMStatus::error(StatusCode::VM_STARTUP_FAILURE, None)); } match self.verify_transaction_impl(&signature_verified_txn, &data_cache) { Ok(_) => None, @@ -615,7 +628,10 @@ impl StarcoinVM { { Err(e) => { warn!("[VM]Update module strategy deserialize err : {:?}", e); - return Err(VMStatus::Error(StatusCode::FAILED_TO_DESERIALIZE_RESOURCE)); + return Err(VMStatus::error( + StatusCode::FAILED_TO_DESERIALIZE_RESOURCE, + None, + )); } Ok(only_new_module) => only_new_module, }; @@ -628,7 +644,7 @@ impl StarcoinVM { .map(|m| m.code().to_vec()) .collect(), package.package_address(), // be careful with the sender. - gas_meter, + gas_meter, PublishModuleBundleOption { force_publish: enforced, only_new_module, @@ -728,14 +744,14 @@ impl StarcoinVM { ) } TransactionPayload::Package(_) => { - return Err(VMStatus::Error(StatusCode::UNREACHABLE)); + return Err(VMStatus::error(StatusCode::UNREACHABLE, None)); } } - .map_err(|e| - { - warn!("[VM] execute_script_function error, status_type: {:?}, status_code:{:?}, message:{:?}, location:{:?}", e.status_type(), e.major_status(), e.message(), e.location()); - e.into_vm_status() - })?; + .map_err(|e| + { + warn!("[VM] execute_script_function error, status_type: {:?}, status_code:{:?}, message:{:?}, location:{:?}", e.status_type(), e.major_status(), e.message(), e.location()); + e.into_vm_status() + })?; charge_global_write_gas_usage(gas_meter, &session, &txn_data.sender())?; self.success_transaction_cleanup(session, gas_meter, txn_data) @@ -750,11 +766,10 @@ impl StarcoinVM { args: Vec>, gas_meter: &mut impl GasMeter, sender: AccountAddress, - ) -> VMResult { - let (_, func, loaded_func) = - session - .inner - .load_function(module, function_name, &ty_args)?; + ) -> VMResult<()> { + let loaded_func = session + .inner + .load_function(module, function_name, &ty_args)?; verifier::transaction_arg_validation::validate_combine_singer_and_args( session, @@ -763,14 +778,19 @@ impl StarcoinVM { &loaded_func, )?; - let final_args = SessionAdapter::::check_and_rearrange_args_by_signer_position( - func, - args.into_iter().map(|b| b.borrow().to_vec()).collect(), + let _final_args = SessionAdapter::::check_and_rearrange_args_by_signer_position( + loaded_func.borrow(), + args.iter().map(|b| b.borrow().to_vec()).collect(), sender, )?; - session - .inner - .execute_entry_function(module, function_name, ty_args, final_args, gas_meter) + + let tranversal_storage = TraversalStorage::new(); + session.inner.execute_entry_function( + loaded_func, + args, + gas_meter, + &mut TraversalContext::new(&tranversal_storage), + ) } fn validate_execute_script( @@ -780,10 +800,10 @@ impl StarcoinVM { args: Vec>, gas_meter: &mut impl GasMeter, sender: AccountAddress, - ) -> VMResult { - let (main, loaded_func) = session + ) -> VMResult<()> { + let loaded_func = session .inner - .load_script(script.borrow(), ty_args.clone())?; + .load_script(script.borrow(), ty_args.as_ref())?; verifier::transaction_arg_validation::validate_combine_singer_and_args( session, @@ -792,14 +812,20 @@ impl StarcoinVM { &loaded_func, )?; - let final_args = SessionAdapter::::check_and_rearrange_args_by_signer_position( - main, - args.into_iter().map(|b| b.borrow().to_vec()).collect(), + let _final_args = SessionAdapter::::check_and_rearrange_args_by_signer_position( + loaded_func.borrow(), + args.iter().map(|b| b.borrow().to_vec()).collect(), sender, )?; - session - .inner - .execute_script(script, ty_args, final_args, gas_meter) + + let traversal_storage = TraversalStorage::new(); + session.inner.execute_script( + script, + ty_args, + args, + gas_meter, + &mut TraversalContext::new(&traversal_storage), + ) } /// Run the prologue of a transaction by calling into `PROLOGUE_NAME` function stored @@ -813,7 +839,7 @@ impl StarcoinVM { let genesis_address = genesis_address(); let gas_token_ty = TypeTag::Struct(Box::new(txn_data.gas_token_code().try_into().map_err( - |_e| VMStatus::Error(StatusCode::BAD_TRANSACTION_FEE_CURRENCY), + |_e| VMStatus::error(StatusCode::BAD_TRANSACTION_FEE_CURRENCY, None), )?)); let txn_sequence_number = txn_data.sequence_number(); let authentication_key_preimage = txn_data.authentication_key_preimage().to_vec(); @@ -835,6 +861,7 @@ impl StarcoinVM { ), }; + let traversal_storage = TraversalStorage::new(); // Run prologue by genesis account session .as_mut() @@ -856,6 +883,7 @@ impl StarcoinVM { MoveValue::Address(package_address), ]), gas_meter, + &mut TraversalContext::new(&traversal_storage), ) .map(|_return_vals| ()) .or_else(convert_prologue_runtime_error) @@ -873,7 +901,7 @@ impl StarcoinVM { let genesis_address = genesis_address(); let gas_token_ty = TypeTag::Struct(Box::new(txn_data.gas_token_code().try_into().map_err( - |_e| VMStatus::Error(StatusCode::BAD_TRANSACTION_FEE_CURRENCY), + |_e| VMStatus::error(StatusCode::BAD_TRANSACTION_FEE_CURRENCY, None), )?)); let txn_sequence_number = txn_data.sequence_number(); let txn_authentication_key_preimage = txn_data.authentication_key_preimage().to_vec(); @@ -930,6 +958,7 @@ impl StarcoinVM { ]), ) }; + let traversal_storage = TraversalStorage::new(); session .as_mut() .execute_function_bypass_visibility( @@ -938,6 +967,7 @@ impl StarcoinVM { vec![gas_token_ty], args, gas_meter, + &mut TraversalContext::new(&traversal_storage), ) .map(|_return_vals| ()) .or_else(convert_normal_success_epilogue_error) @@ -989,13 +1019,14 @@ impl StarcoinVM { if version >= StdlibVersion::Version(FLEXI_DAG_UPGRADE_VERSION_MARK) { args_vec.push(MoveValue::vector_u8( bcs_ext::to_bytes(&parents_hash) - .or(Err(VMStatus::Error(VALUE_SERIALIZATION_ERROR)))?, + .or(Err(VMStatus::error(VALUE_SERIALIZATION_ERROR, None)))?, )); function_name = &account_config::G_BLOCK_PROLOGUE_V2_NAME; } } let args = serialize_values(&args_vec); let mut session: SessionAdapter<_> = self.move_vm.new_session(storage, session_id).into(); + let traverse_storage = TraversalStorage::new(); session .as_mut() .execute_function_bypass_visibility( @@ -1004,6 +1035,7 @@ impl StarcoinVM { vec![], args, &mut gas_meter, + &mut TraversalContext::new(&traverse_storage), ) .map(|_return_vals| ()) .or_else(convert_prologue_runtime_error)?; @@ -1049,7 +1081,7 @@ impl StarcoinVM { // check signature let signature_checked_txn = match txn.check_signature() { Ok(t) => Ok(t), - Err(_) => Err(VMStatus::Error(StatusCode::INVALID_SIGNATURE)), + Err(_) => Err(VMStatus::error(StatusCode::INVALID_SIGNATURE, None)), }; match signature_checked_txn { @@ -1174,7 +1206,7 @@ impl StarcoinVM { // TODO load config by config change event self.load_configs(&data_cache) - .map_err(|_err| VMStatus::Error(StatusCode::STORAGE_ERROR))?; + .map_err(|_err| VMStatus::error(StatusCode::STORAGE_ERROR, None))?; let mut gas_left = block_gas_limit.unwrap_or(u64::MAX); let blocks = chunk_block_transactions(transactions); @@ -1217,7 +1249,7 @@ impl StarcoinVM { } // TODO load config by config change event self.check_reconfigure(&data_cache, &output) - .map_err(|_err| VMStatus::Error(StatusCode::STORAGE_ERROR))?; + .map_err(|_err| VMStatus::error(StatusCode::STORAGE_ERROR, None))?; #[cfg(feature = "metrics")] if let Some(timer) = timer { @@ -1330,7 +1362,7 @@ impl StarcoinVM { "Load config error at execute_readonly_function_internal: {}", err ); - return Err(VMStatus::Error(StatusCode::VM_STARTUP_FAILURE)); + return Err(VMStatus::error(StatusCode::VM_STARTUP_FAILURE, None)); } let gas_params = self.get_gas_parameters()?; let mut gas_meter = StarcoinGasMeter::new( @@ -1346,6 +1378,8 @@ impl StarcoinVM { gas_meter.set_metering(false); gas_meter }; + + let traversal_storage = TraversalStorage::new(); let mut session = self.move_vm.new_session(&data_cache, SessionId::void()); let result = session .execute_function_bypass_visibility( @@ -1354,6 +1388,7 @@ impl StarcoinVM { type_params, args, &mut gas_meter, + &mut TraversalContext::new(&traversal_storage), ) .map_err(|e| e.into_vm_status())? .return_values @@ -1361,7 +1396,7 @@ impl StarcoinVM { .map(|(a, _)| a) .collect(); - let (change_set, events, mut extensions) = session + let (change_set, mut extensions) = session .finish_with_extensions() .map_err(|e| e.into_vm_status())?; let table_context: NativeTableContext = extensions.remove(); @@ -1372,13 +1407,12 @@ impl StarcoinVM { // No table infos should be produced in readonly function. let (_table_infos, write_set, _events) = SessionOutput { change_set, - events, table_change_set, } .into_change_set(&mut ())?; if !write_set.is_empty() { warn!("Readonly function {} changes state", function_name); - return Err(VMStatus::Error(StatusCode::REJECTED_WRITE_SET)); + return Err(VMStatus::error(StatusCode::REJECTED_WRITE_SET, None)); } Ok(result) } @@ -1438,7 +1472,7 @@ impl StarcoinVM { (error_code, txn_output) } TransactionStatus::Discard(status) => { - (VMStatus::Error(status), discard_error_output(status)) + (VMStatus::error(status, None), discard_error_output(status)) } TransactionStatus::Retry => unreachable!(), } @@ -1447,7 +1481,7 @@ impl StarcoinVM { pub fn get_gas_parameters(&self) -> Result<&StarcoinGasParameters, VMStatus> { self.gas_params.as_ref().ok_or_else(|| { debug!("VM Startup Failed. Gas Parameters Not Found"); - VMStatus::Error(StatusCode::VM_STARTUP_FAILURE) + VMStatus::error(StatusCode::VM_STARTUP_FAILURE, None) }) } @@ -1595,15 +1629,13 @@ pub(crate) fn get_transaction_output( let gas_used = max_gas_amount .checked_sub(gas_left) .expect("Balance should always be less than or equal to max gas amount"); - let (change_set, events, mut extensions) = - Into::>::into(session).finish_with_extensions()?; + let (change_set, mut extensions) = Into::::into(session).finish_with_extensions()?; let table_context: NativeTableContext = extensions.remove(); let table_change_set = table_context .into_change_set() .map_err(|e| e.finish(Location::Undefined))?; let (table_infos, write_set, events) = SessionOutput { change_set, - events, table_change_set, } .into_change_set(ap_cache)?; diff --git a/vm/vm-runtime/src/verifier/transaction_arg_validation.rs b/vm/vm-runtime/src/verifier/transaction_arg_validation.rs index 8c46711993..33b4da7b36 100644 --- a/vm/vm-runtime/src/verifier/transaction_arg_validation.rs +++ b/vm/vm-runtime/src/verifier/transaction_arg_validation.rs @@ -13,7 +13,8 @@ use move_core_types::vm_status::StatusCode; use move_core_types::{ account_address::AccountAddress, ident_str, identifier::Identifier, language_storage::ModuleId, }; -use move_vm_runtime::session::LoadedFunctionInstantiation; +use move_vm_runtime::module_traversal::{TraversalContext, TraversalStorage}; +use move_vm_runtime::LoadedFunction; use move_vm_types::gas::{GasMeter, UnmeteredGasMeter}; use move_vm_types::loaded_data::runtime_types::Type; use once_cell::sync::Lazy; @@ -70,9 +71,9 @@ static ALLOWED_STRUCTS: ConstructorMap = Lazy::new(|| { }, ), ] - .into_iter() - .map(|(s, validator)| (s.to_string(), validator)) - .collect() + .into_iter() + .map(|(s, validator)| (s.to_string(), validator)) + .collect() }); fn get_allowed_structs() -> &'static ConstructorMap { @@ -89,13 +90,13 @@ pub(crate) fn validate_combine_singer_and_args( session: &mut SessionAdapter, senders: Vec, args: &[impl Borrow<[u8]>], - func: &LoadedFunctionInstantiation, + func: &LoadedFunction, ) -> VMResult<()> { - SessionAdapter::::check_script_return(func.return_.clone())?; + SessionAdapter::::check_script_return(func.return_tys())?; let mut signer_param_cnt = 0; // find all signer params at the beginning - for ty in func.parameters.iter() { + for ty in func.param_tys() { match ty { Type::Signer => signer_param_cnt += 1, Type::Reference(inner_type) => { @@ -109,10 +110,10 @@ pub(crate) fn validate_combine_singer_and_args( let allowed_structs = get_allowed_structs(); // Need to keep this here to ensure we return the historic correct error code for replay - for ty in func.parameters[signer_param_cnt..].iter() { + for ty in func.param_tys()[signer_param_cnt..].iter() { let valid = is_valid_txn_arg( session, - &ty.subst(&func.type_arguments).unwrap(), + &ty.subst(&func.ty_args()).unwrap(), allowed_structs, ); if !valid { @@ -126,13 +127,13 @@ pub(crate) fn validate_combine_singer_and_args( } } - if (signer_param_cnt + args.len()) != func.parameters.len() { + if (signer_param_cnt + args.len()) != func.param_tys().len() { return Err( PartialVMError::new(StatusCode::NUMBER_OF_ARGUMENTS_MISMATCH) .with_message(format!( "signer params {signer_param_cnt}, args {}, func parameters {}", args.len(), - func.parameters.len() + func.param_tys().len() )) .finish(Location::Script), ); @@ -154,9 +155,9 @@ pub(crate) fn validate_combine_singer_and_args( // FAILED_TO_DESERIALIZE_ARGUMENT error. let _ = construct_args( session, - &func.parameters[signer_param_cnt..], + &func.param_tys()[signer_param_cnt..], args, - &func.type_arguments, + &func.ty_args(), allowed_structs, false, )?; @@ -175,7 +176,7 @@ pub(crate) fn is_valid_txn_arg( match typ { Bool | U8 | U16 | U32 | U64 | U128 | U256 | Address => true, Vector(inner) => is_valid_txn_arg(session, inner, allowed_structs), - Struct(idx) | StructInstantiation(idx, _) => session + Struct { idx, .. } | StructInstantiation { idx, .. } => session .inner .get_struct_type(*idx) .map(|st| { @@ -306,7 +307,7 @@ pub(crate) fn recursively_construct_arg( len -= 1; } } - Struct(idx) | StructInstantiation(idx, _) => { + Struct { idx, .. } | StructInstantiation { idx, .. } => { let st = session .inner .get_struct_type(*idx) @@ -409,17 +410,22 @@ fn validate_and_construct( *max_invocations -= 1; } - let (module, function, instantiation) = session.inner.load_function_with_type_arg_inference( + let function = session.inner.load_function_with_type_arg_inference( &constructor.module, constructor.function.as_ref(), expected_type, )?; let mut args = vec![]; - for param_type in &instantiation.parameters { + let ty_builder = session.get_ty_builder(); + for param_ty in function.param_tys() { let mut arg = vec![]; + let arg_ty = ty_builder + .create_ty_with_subst(param_ty, function.ty_args()) + .unwrap(); + recursively_construct_arg( session, - ¶m_type.subst(&instantiation.type_arguments).unwrap(), + &arg_ty, allowed_structs, cursor, initial_cursor_len, @@ -429,12 +435,12 @@ fn validate_and_construct( )?; args.push(arg); } - let serialized_result = session.inner.execute_instantiated_function( - module, + let storage = TraversalStorage::new(); + let serialized_result = session.execute_loaded_function( function, - instantiation, args, gas_meter, + &mut TraversalContext::new(&storage), )?; let mut ret_vals = serialized_result.return_values; // We know ret_vals.len() == 1 diff --git a/vm/vm-runtime/src/vm_adapter/adapter.rs b/vm/vm-runtime/src/vm_adapter/adapter.rs index 8d7a281005..0bab7e84c0 100644 --- a/vm/vm-runtime/src/vm_adapter/adapter.rs +++ b/vm/vm-runtime/src/vm_adapter/adapter.rs @@ -3,7 +3,7 @@ use move_binary_format::errors::*; use move_binary_format::{ - access::ModuleAccess, compatibility::Compatibility, normalized, CompiledModule, IndexKind, + access::ModuleAccess, compatibility::Compatibility, CompiledModule, IndexKind, }; use move_core_types::value::MoveValue; use move_core_types::vm_status::StatusCode; @@ -11,15 +11,14 @@ use move_core_types::{ account_address::AccountAddress, identifier::IdentStr, language_storage::{ModuleId, TypeTag}, - resolver::*, }; -use move_vm_runtime::loader::Function; -use move_vm_runtime::session::{LoadedFunctionInstantiation, Session}; +use move_vm_runtime::{session::Session, LoadedFunction}; use move_vm_types::gas::GasMeter; use move_vm_types::loaded_data::runtime_types::Type; +use move_vm_types::resolver::MoveResolver; use std::borrow::Borrow; use std::collections::BTreeSet; -use std::sync::Arc; +use std::marker::PhantomData; use tracing::warn; /// Publish module bundle options @@ -33,30 +32,34 @@ pub struct PublishModuleBundleOption { /// An adapter for wrap MoveVM Session pub struct SessionAdapter<'r, 'l, R> { - pub(crate) inner: Session<'r, 'l, R>, + pub(crate) inner: Session<'r, 'l>, + _phantom_data: PhantomData, } -impl<'r, 'l, R> From> for SessionAdapter<'r, 'l, R> { - fn from(s: Session<'r, 'l, R>) -> Self { - Self { inner: s } +impl<'r, 'l, R> From> for SessionAdapter<'r, 'l, R> { + fn from(s: Session<'r, 'l>) -> Self { + Self { + inner: s, + _phantom_data: PhantomData, + } } } #[allow(clippy::from_over_into)] -impl<'r, 'l, R> Into> for SessionAdapter<'r, 'l, R> { - fn into(self) -> Session<'r, 'l, R> { +impl<'r, 'l, R> Into> for SessionAdapter<'r, 'l, R> { + fn into(self) -> Session<'r, 'l> { self.inner } } -impl<'r, 'l, R> AsRef> for SessionAdapter<'r, 'l, R> { - fn as_ref(&self) -> &Session<'r, 'l, R> { +impl<'r, 'l, R> AsRef> for SessionAdapter<'r, 'l, R> { + fn as_ref(&self) -> &Session<'r, 'l> { &self.inner } } -impl<'r, 'l, R> AsMut> for SessionAdapter<'r, 'l, R> { - fn as_mut(&mut self) -> &mut Session<'r, 'l, R> { +impl<'r, 'l, R> AsMut> for SessionAdapter<'r, 'l, R> { + fn as_mut(&mut self) -> &mut Session<'r, 'l> { &mut self.inner } } @@ -102,12 +105,12 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { //} pub(crate) fn check_and_rearrange_args_by_signer_position( - func: Arc, + func: &LoadedFunction, args: Vec>, sender: AccountAddress, ) -> VMResult>> { let has_signer = func - .parameter_types() + .param_tys() .iter() .position(|i| matches!(i, &Type::Signer)) .map(|pos| { @@ -229,11 +232,10 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { } let old_module_ref = self.inner.load_module(&module_id)?; - let old_module = old_module_ref.module(); - let old_m = normalized::Module::new(old_module); - let new_m = normalized::Module::new(module); - if Compatibility::new(true, true, false) - .check(&old_m, &new_m) + let old_module = + CompiledModule::deserialize(old_module_ref.as_ref()).map_err(|e| Err(e))?; + if Compatibility::new(true, false) + .check(&old_module, module) .is_err() && !option.force_publish { @@ -263,18 +265,13 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { sender: AccountAddress, ) -> VMResult<()> { //load the script, perform verification - let ( - main, - LoadedFunctionInstantiation { - type_arguments: _, - parameters, - return_, - }, - ) = self.inner.load_script(script.borrow(), ty_args)?; + let function = self + .inner + .load_script(script.borrow(), ty_args.as_slice())?; - Self::check_script_return(return_)?; + Self::check_script_return(ty_args.as_slice())?; - self.check_script_signer_and_build_args(main, parameters, args, sender)?; + self.check_script_signer_and_build_args(&function, ty_args, args, sender)?; Ok(()) } @@ -287,25 +284,18 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { args: Vec>, sender: AccountAddress, ) -> VMResult<()> { - let ( - _module, - func, - LoadedFunctionInstantiation { - type_arguments: _, - parameters, - return_, - }, - ) = self.inner.load_function(module, function_name, &ty_args)?; + let func = self.inner.load_function(module, function_name, &ty_args)?; - Self::check_script_return(return_)?; + Self::check_script_return(func.ty_args())?; - self.check_script_signer_and_build_args(func, parameters, args, sender)?; + self.check_script_signer_and_build_args(&func, ty_args, args, sender)?; Ok(()) } + // TODO(simon): what's the difference between Type and TypeTag? //ensure the script function not return value - pub(crate) fn check_script_return(return_: Vec) -> VMResult<()> { + pub(crate) fn check_script_return(return_: &[T]) -> VMResult<()> { if !return_.is_empty() { Err(PartialVMError::new(StatusCode::RET_TYPE_MISMATCH_ERROR) .with_message(format!( @@ -320,8 +310,8 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { fn check_script_signer_and_build_args( &self, - func: Arc, - arg_tys: Vec, + func: &LoadedFunction, + arg_tys: Vec, args: Vec>, sender: AccountAddress, ) -> VMResult<()> { @@ -333,8 +323,8 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { /// Clear vm runtimer loader's cache to reload new modules from state cache fn empty_loader_cache(&self) -> VMResult<()> { - self.inner.mark_loader_cache_as_invaliddated(); - self.inner.flush_loader_cache_if_invalidated(); + self.inner.get_move_vm().mark_loader_cache_as_invalid(); + self.inner.get_move_vm().flush_loader_cache_if_invalidated(); Ok(()) } } From c9a1bd55f02f2b0fddbacb718f9d2bf296a62b5f Mon Sep 17 00:00:00 2001 From: simonjiao Date: Mon, 19 Aug 2024 20:25:47 +0800 Subject: [PATCH 16/28] fix MoveResolverExt --- executor/tests/readonly_function_call_test.rs | 12 ++++++------ vm/vm-runtime/src/move_vm_ext/resolver.rs | 9 ++------- vm/vm-runtime/src/vm_adapter/adapter.rs | 8 ++++---- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/executor/tests/readonly_function_call_test.rs b/executor/tests/readonly_function_call_test.rs index 9927351080..076699c557 100644 --- a/executor/tests/readonly_function_call_test.rs +++ b/executor/tests/readonly_function_call_test.rs @@ -131,12 +131,12 @@ fn test_readonly_function_call() -> Result<()> { vec![TransactionArgument::Address(*account1.address())], None, ) - .map_err(|err| { - assert_eq!( - err.downcast::().unwrap(), - VMStatus::error(StatusCode::REJECTED_WRITE_SET, None) - ); - }); + .map_err(|err| { + assert_eq!( + err.downcast::().unwrap(), + VMStatus::error(StatusCode::REJECTED_WRITE_SET, None) + ); + }); Ok(()) } diff --git a/vm/vm-runtime/src/move_vm_ext/resolver.rs b/vm/vm-runtime/src/move_vm_ext/resolver.rs index 2b3ed2889e..4f23ab149f 100644 --- a/vm/vm-runtime/src/move_vm_ext/resolver.rs +++ b/vm/vm-runtime/src/move_vm_ext/resolver.rs @@ -3,12 +3,7 @@ use move_table_extension::TableResolver; use move_vm_types::resolver::MoveResolver; -use std::fmt::Debug; -pub trait MoveResolverExt: MoveResolver + TableResolver { - type ExtError: Debug; -} +pub trait MoveResolverExt: MoveResolver + TableResolver {} -impl MoveResolverExt for T { - type ExtError = E; -} +impl MoveResolverExt for T {} diff --git a/vm/vm-runtime/src/vm_adapter/adapter.rs b/vm/vm-runtime/src/vm_adapter/adapter.rs index 0bab7e84c0..7c94256501 100644 --- a/vm/vm-runtime/src/vm_adapter/adapter.rs +++ b/vm/vm-runtime/src/vm_adapter/adapter.rs @@ -206,7 +206,7 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { IndexKind::AddressIdentifier, module.self_handle_idx().0, ) - .finish(Location::Undefined)); + .finish(Location::Undefined)); } } @@ -232,8 +232,8 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { } let old_module_ref = self.inner.load_module(&module_id)?; - let old_module = - CompiledModule::deserialize(old_module_ref.as_ref()).map_err(|e| Err(e))?; + let old_module = CompiledModule::deserialize(old_module_ref.as_ref()) + .map_err(|e| e.finish(Location::Undefined))?; if Compatibility::new(true, false) .check(&old_module, module) .is_err() @@ -242,7 +242,7 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { return Err(PartialVMError::new( StatusCode::BACKWARD_INCOMPATIBLE_MODULE_UPDATE, ) - .finish(Location::Undefined)); + .finish(Location::Undefined)); } } if !bundle_unverified.insert(module_id) { From 4af2ff2df7371a84549bc74c1fb4c02b12c52ef7 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Mon, 19 Aug 2024 21:32:05 +0800 Subject: [PATCH 17/28] remove generic parameter from SessionAdapter --- vm/vm-runtime/src/starcoin_vm.rs | 46 +++++++++---------- .../verifier/transaction_arg_validation.rs | 27 ++++++----- vm/vm-runtime/src/vm_adapter/adapter.rs | 24 ++++------ 3 files changed, 45 insertions(+), 52 deletions(-) diff --git a/vm/vm-runtime/src/starcoin_vm.rs b/vm/vm-runtime/src/starcoin_vm.rs index 0d9e9d0db2..14423a142c 100644 --- a/vm/vm-runtime/src/starcoin_vm.rs +++ b/vm/vm-runtime/src/starcoin_vm.rs @@ -430,7 +430,7 @@ impl StarcoinVM { ) -> Result<(), VMStatus> { let txn_data = TransactionMetadata::new(transaction)?; let data_cache = remote_cache.as_move_resolver(); - let mut session: SessionAdapter<_> = self + let mut session: SessionAdapter = self .move_vm .new_session(&data_cache, SessionId::txn(transaction)) .into(); @@ -585,7 +585,7 @@ impl StarcoinVM { fn execute_package( &self, - mut session: SessionAdapter, + mut session: SessionAdapter, gas_meter: &mut StarcoinGasMeter, txn_data: &TransactionMetadata, package: &Package, @@ -694,9 +694,9 @@ impl StarcoinVM { } } - fn execute_script_or_script_function( + fn execute_script_or_script_function( &self, - mut session: SessionAdapter, + mut session: SessionAdapter, gas_meter: &mut StarcoinGasMeter, txn_data: &TransactionMetadata, payload: &TransactionPayload, @@ -758,8 +758,8 @@ impl StarcoinVM { } } - fn validate_execute_entry_function( - session: &mut SessionAdapter, + fn validate_execute_entry_function( + session: &mut SessionAdapter, module: &ModuleId, function_name: &IdentStr, ty_args: Vec, @@ -778,7 +778,7 @@ impl StarcoinVM { &loaded_func, )?; - let _final_args = SessionAdapter::::check_and_rearrange_args_by_signer_position( + let _final_args = SessionAdapter::check_and_rearrange_args_by_signer_position( loaded_func.borrow(), args.iter().map(|b| b.borrow().to_vec()).collect(), sender, @@ -793,8 +793,8 @@ impl StarcoinVM { ) } - fn validate_execute_script( - session: &mut SessionAdapter, + fn validate_execute_script( + session: &mut SessionAdapter, script: impl Borrow<[u8]>, ty_args: Vec, args: Vec>, @@ -812,7 +812,7 @@ impl StarcoinVM { &loaded_func, )?; - let _final_args = SessionAdapter::::check_and_rearrange_args_by_signer_position( + let _final_args = SessionAdapter::check_and_rearrange_args_by_signer_position( loaded_func.borrow(), args.iter().map(|b| b.borrow().to_vec()).collect(), sender, @@ -830,9 +830,9 @@ impl StarcoinVM { /// Run the prologue of a transaction by calling into `PROLOGUE_NAME` function stored /// in the `ACCOUNT_MODULE` on chain. - fn run_prologue( + fn run_prologue( &self, - session: &mut SessionAdapter, + session: &mut SessionAdapter, gas_meter: &mut StarcoinGasMeter, txn_data: &TransactionMetadata, ) -> Result<(), VMStatus> { @@ -891,9 +891,9 @@ impl StarcoinVM { /// Run the epilogue of a transaction by calling into `EPILOGUE_NAME` function stored /// in the `ACCOUNT_MODULE` on chain. - fn run_epilogue( + fn run_epilogue( &self, - session: &mut SessionAdapter, + session: &mut SessionAdapter, gas_meter: &mut StarcoinGasMeter, txn_data: &TransactionMetadata, success: bool, @@ -1025,7 +1025,7 @@ impl StarcoinVM { } } let args = serialize_values(&args_vec); - let mut session: SessionAdapter<_> = self.move_vm.new_session(storage, session_id).into(); + let mut session: SessionAdapter = self.move_vm.new_session(storage, session_id).into(); let traverse_storage = TraversalStorage::new(); session .as_mut() @@ -1072,7 +1072,7 @@ impl StarcoinVM { } }; - let session: SessionAdapter<_> = self + let session: SessionAdapter = self .move_vm .new_session(storage, SessionId::txn_meta(&txn_data)) .into(); @@ -1417,9 +1417,9 @@ impl StarcoinVM { Ok(result) } - fn success_transaction_cleanup( + fn success_transaction_cleanup( &self, - mut session: SessionAdapter, + mut session: SessionAdapter, gas_meter: &mut StarcoinGasMeter, txn_data: &TransactionMetadata, ) -> Result<(VMStatus, TransactionOutput), VMStatus> { @@ -1446,7 +1446,7 @@ impl StarcoinVM { storage: &S, ) -> (VMStatus, TransactionOutput) { gas_meter.set_metering(false); - let mut session: SessionAdapter<_> = self + let mut session: SessionAdapter = self .move_vm .new_session(storage, SessionId::txn_meta(txn_data)) .into(); @@ -1599,9 +1599,9 @@ pub fn chunk_block_transactions(txns: Vec) -> Vec blocks } -pub(crate) fn charge_global_write_gas_usage( +pub(crate) fn charge_global_write_gas_usage( gas_meter: &mut StarcoinGasMeter, - session: &SessionAdapter, + session: &SessionAdapter, sender: &AccountAddress, ) -> Result<(), VMStatus> { let write_set_gas = u64::from(gas_meter.cal_write_set_gas()); @@ -1618,9 +1618,9 @@ pub(crate) fn charge_global_write_gas_usage( .map_err(|p_err| p_err.finish(Location::Undefined).into_vm_status()) } -pub(crate) fn get_transaction_output( +pub(crate) fn get_transaction_output( ap_cache: &mut A, - session: SessionAdapter, + session: SessionAdapter, gas_left: Gas, max_gas_amount: Gas, status: KeptVMStatus, diff --git a/vm/vm-runtime/src/verifier/transaction_arg_validation.rs b/vm/vm-runtime/src/verifier/transaction_arg_validation.rs index 33b4da7b36..b810c2bd2f 100644 --- a/vm/vm-runtime/src/verifier/transaction_arg_validation.rs +++ b/vm/vm-runtime/src/verifier/transaction_arg_validation.rs @@ -4,7 +4,6 @@ // see implementation in `aptos-core` // https://github.com/aptos-labs/aptos-core/blob/3af88bc872221c4958e6163660c60bc07bf53d38/aptos-move/aptos-vm/src/verifier/transaction_arg_validation.rs#L1 -use crate::move_vm_ext::MoveResolverExt; use crate::vm_adapter::SessionAdapter; use move_binary_format::errors::{Location, PartialVMError, VMError, VMResult}; use move_binary_format::file_format::FunctionDefinitionIndex; @@ -86,13 +85,13 @@ fn get_allowed_structs() -> &'static ConstructorMap { /// 2. number of signers is same as the number of senders /// 3. check arg types are allowed after signers /// -pub(crate) fn validate_combine_singer_and_args( - session: &mut SessionAdapter, +pub(crate) fn validate_combine_singer_and_args( + session: &mut SessionAdapter, senders: Vec, args: &[impl Borrow<[u8]>], func: &LoadedFunction, ) -> VMResult<()> { - SessionAdapter::::check_script_return(func.return_tys())?; + SessionAdapter::check_script_return(func.return_tys())?; let mut signer_param_cnt = 0; // find all signer params at the beginning @@ -166,8 +165,8 @@ pub(crate) fn validate_combine_singer_and_args( } // Return whether the argument is valid/allowed and whether it needs construction. -pub(crate) fn is_valid_txn_arg( - session: &SessionAdapter, +pub(crate) fn is_valid_txn_arg( + session: &SessionAdapter, typ: &Type, allowed_structs: &ConstructorMap, ) -> bool { @@ -191,8 +190,8 @@ pub(crate) fn is_valid_txn_arg( // Construct arguments. Walk through the arguments and according to the signature // construct arguments that require so. // TODO: This needs a more solid story and a tighter integration with the VM. -pub(crate) fn construct_args( - session: &mut SessionAdapter, +pub(crate) fn construct_args( + session: &mut SessionAdapter, types: &[Type], args: &[impl Borrow<[u8]>], ty_args: &[Type], @@ -223,8 +222,8 @@ fn invalid_signature() -> VMError { PartialVMError::new(StatusCode::INVALID_MAIN_FUNCTION_SIGNATURE).finish(Location::Script) } -fn construct_arg( - session: &mut SessionAdapter, +fn construct_arg( + session: &mut SessionAdapter, ty: &Type, allowed_structs: &ConstructorMap, arg: Vec, @@ -276,8 +275,8 @@ fn construct_arg( // A Cursor is used to recursively walk the serialized arg manually and correctly. In effect we // are parsing the BCS serialized implicit constructor invocation tree, while serializing the // constructed types into the output parameter arg. -pub(crate) fn recursively_construct_arg( - session: &mut SessionAdapter, +pub(crate) fn recursively_construct_arg( + session: &mut SessionAdapter, ty: &Type, allowed_structs: &ConstructorMap, cursor: &mut Cursor<&[u8]>, @@ -346,8 +345,8 @@ pub(crate) fn recursively_construct_arg( // constructed value. This is the correct data to pass as the argument to a function taking // said struct as a parameter. In this function we execute the constructor constructing the // value and returning the BCS serialized representation. -fn validate_and_construct( - session: &mut SessionAdapter, +fn validate_and_construct( + session: &mut SessionAdapter, expected_type: &Type, constructor: &FunctionId, allowed_structs: &ConstructorMap, diff --git a/vm/vm-runtime/src/vm_adapter/adapter.rs b/vm/vm-runtime/src/vm_adapter/adapter.rs index 7c94256501..3659e6841c 100644 --- a/vm/vm-runtime/src/vm_adapter/adapter.rs +++ b/vm/vm-runtime/src/vm_adapter/adapter.rs @@ -15,10 +15,8 @@ use move_core_types::{ use move_vm_runtime::{session::Session, LoadedFunction}; use move_vm_types::gas::GasMeter; use move_vm_types::loaded_data::runtime_types::Type; -use move_vm_types::resolver::MoveResolver; use std::borrow::Borrow; use std::collections::BTreeSet; -use std::marker::PhantomData; use tracing::warn; /// Publish module bundle options @@ -31,40 +29,36 @@ pub struct PublishModuleBundleOption { } /// An adapter for wrap MoveVM Session -pub struct SessionAdapter<'r, 'l, R> { +pub struct SessionAdapter<'r, 'l> { pub(crate) inner: Session<'r, 'l>, - _phantom_data: PhantomData, } -impl<'r, 'l, R> From> for SessionAdapter<'r, 'l, R> { +impl<'r, 'l> From> for SessionAdapter<'r, 'l> { fn from(s: Session<'r, 'l>) -> Self { - Self { - inner: s, - _phantom_data: PhantomData, - } + Self { inner: s } } } #[allow(clippy::from_over_into)] -impl<'r, 'l, R> Into> for SessionAdapter<'r, 'l, R> { +impl<'r, 'l> Into> for SessionAdapter<'r, 'l> { fn into(self) -> Session<'r, 'l> { self.inner } } -impl<'r, 'l, R> AsRef> for SessionAdapter<'r, 'l, R> { +impl<'r, 'l> AsRef> for SessionAdapter<'r, 'l> { fn as_ref(&self) -> &Session<'r, 'l> { &self.inner } } -impl<'r, 'l, R> AsMut> for SessionAdapter<'r, 'l, R> { +impl<'r, 'l> AsMut> for SessionAdapter<'r, 'l> { fn as_mut(&mut self) -> &mut Session<'r, 'l> { &mut self.inner } } -impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { +impl<'r, 'l> SessionAdapter<'r, 'l> { ///// wrapper of Session, push signer as the first argument of function. //pub fn execute_entry_function( // &mut self, @@ -206,7 +200,7 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { IndexKind::AddressIdentifier, module.self_handle_idx().0, ) - .finish(Location::Undefined)); + .finish(Location::Undefined)); } } @@ -242,7 +236,7 @@ impl<'r, 'l, R: MoveResolver> SessionAdapter<'r, 'l, R> { return Err(PartialVMError::new( StatusCode::BACKWARD_INCOMPATIBLE_MODULE_UPDATE, ) - .finish(Location::Undefined)); + .finish(Location::Undefined)); } } if !bundle_unverified.insert(module_id) { From dcfccbb6dad598dc95cd9633d0cbad9094762da8 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Mon, 19 Aug 2024 23:01:25 +0800 Subject: [PATCH 18/28] fix vm-runtime verifier --- .../verifier/transaction_arg_validation.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/vm/vm-runtime/src/verifier/transaction_arg_validation.rs b/vm/vm-runtime/src/verifier/transaction_arg_validation.rs index b810c2bd2f..0057f34d8d 100644 --- a/vm/vm-runtime/src/verifier/transaction_arg_validation.rs +++ b/vm/vm-runtime/src/verifier/transaction_arg_validation.rs @@ -108,13 +108,13 @@ pub(crate) fn validate_combine_singer_and_args( } let allowed_structs = get_allowed_structs(); + let ty_builder = session.inner.get_ty_builder(); + // Need to keep this here to ensure we return the historic correct error code for replay for ty in func.param_tys()[signer_param_cnt..].iter() { - let valid = is_valid_txn_arg( - session, - &ty.subst(&func.ty_args()).unwrap(), - allowed_structs, - ); + let subst_res = ty_builder.create_ty_with_subst(ty, func.ty_args()); + let typ = subst_res.map_err(|e| e.finish(Location::Undefined))?; + let valid = is_valid_txn_arg(session, &typ, allowed_structs); if !valid { return Err( PartialVMError::new(StatusCode::INVALID_MAIN_FUNCTION_SIGNATURE) @@ -204,10 +204,13 @@ pub(crate) fn construct_args( if types.len() != args.len() { return Err(invalid_signature()); } + let ty_builder = session.inner.get_ty_builder(); for (ty, arg) in types.iter().zip(args) { + let subst_res = ty_builder.create_ty_with_subst(ty, ty_args); + let ty = subst_res.map_err(|e| e.finish(Location::Undefined))?; let arg = construct_arg( session, - &ty.subst(ty_args).unwrap(), + &ty, allowed_structs, arg.borrow().to_vec(), &mut gas_meter, @@ -415,7 +418,7 @@ fn validate_and_construct( expected_type, )?; let mut args = vec![]; - let ty_builder = session.get_ty_builder(); + let ty_builder = session.inner.get_ty_builder(); for param_ty in function.param_tys() { let mut arg = vec![]; let arg_ty = ty_builder @@ -435,7 +438,7 @@ fn validate_and_construct( args.push(arg); } let storage = TraversalStorage::new(); - let serialized_result = session.execute_loaded_function( + let serialized_result = session.inner.execute_loaded_function( function, args, gas_meter, From 86305cd60c8e16983799d77ecaa5f742b88cff3b Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 22 Aug 2024 11:59:09 +0800 Subject: [PATCH 19/28] fix deserialize_args in vm-runtime --- vm/vm-runtime/src/starcoin_vm.rs | 10 +++++----- vm/vm-runtime/src/vm_adapter/adapter.rs | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/vm/vm-runtime/src/starcoin_vm.rs b/vm/vm-runtime/src/starcoin_vm.rs index 14423a142c..3e58ef62cc 100644 --- a/vm/vm-runtime/src/starcoin_vm.rs +++ b/vm/vm-runtime/src/starcoin_vm.rs @@ -13,7 +13,7 @@ use move_core_types::gas_algebra::{InternalGasPerByte, NumBytes}; use move_core_types::vm_status::StatusCode::VALUE_SERIALIZATION_ERROR; use move_table_extension::NativeTableContext; use move_vm_runtime::module_traversal::{TraversalContext, TraversalStorage}; -use move_vm_runtime::session::{SerializedReturnValues, Session}; +use move_vm_runtime::session::Session; use move_vm_types::gas::GasMeter; use num_cpus; use once_cell::sync::OnceCell; @@ -685,7 +685,7 @@ impl StarcoinVM { gas_meter, sender, ) - .map_err(|e| e.into_vm_status())?; + .map_err(|e| e.into_vm_status())?; } charge_global_write_gas_usage(gas_meter, &session, &txn_data.sender())?; @@ -1409,7 +1409,7 @@ impl StarcoinVM { change_set, table_change_set, } - .into_change_set(&mut ())?; + .into_change_set(&mut ())?; if !write_set.is_empty() { warn!("Readonly function {} changes state", function_name); return Err(VMStatus::error(StatusCode::REJECTED_WRITE_SET, None)); @@ -1468,7 +1468,7 @@ impl StarcoinVM { txn_data.max_gas_amount, status, ) - .unwrap_or_else(|e| discard_error_vm_status(e).1); + .unwrap_or_else(|e| discard_error_vm_status(e).1); (error_code, txn_output) } TransactionStatus::Discard(status) => { @@ -1638,7 +1638,7 @@ pub(crate) fn get_transaction_output( change_set, table_change_set, } - .into_change_set(ap_cache)?; + .into_change_set(ap_cache)?; Ok(TransactionOutput::new( table_infos, write_set, diff --git a/vm/vm-runtime/src/vm_adapter/adapter.rs b/vm/vm-runtime/src/vm_adapter/adapter.rs index 3659e6841c..63927b61e0 100644 --- a/vm/vm-runtime/src/vm_adapter/adapter.rs +++ b/vm/vm-runtime/src/vm_adapter/adapter.rs @@ -303,14 +303,24 @@ impl<'r, 'l> SessionAdapter<'r, 'l> { } fn check_script_signer_and_build_args( - &self, + &mut self, func: &LoadedFunction, arg_tys: Vec, args: Vec>, sender: AccountAddress, ) -> VMResult<()> { let final_args = Self::check_and_rearrange_args_by_signer_position(func, args, sender)?; - let (_, _) = self.inner.deserialize_args(arg_tys, final_args)?; + let arg_tys = arg_tys + .into_iter() + .map(|tt| self.inner.load_type(&tt)) + .try_fold(vec![], |mut acc, ty| { + acc.push(ty?); + Ok(acc) + })?; + let (_, _) = self + .inner + .deserialize_args(arg_tys, final_args) + .map_err(|e| e.finish(Location::Undefined))?; Ok(()) } From 963e971dc9fcc23d6e7b159fdca30768db090ea0 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 22 Aug 2024 12:21:55 +0800 Subject: [PATCH 20/28] fix more building errors --- rpc/api/src/types.rs | 8 +++++--- vm/dev/src/playground.rs | 2 +- vm/transaction-builder/src/lib.rs | 4 ++-- vm/vm-runtime/src/starcoin_vm.rs | 8 ++++---- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/rpc/api/src/types.rs b/rpc/api/src/types.rs index 3e7e90b5cc..562af72c7b 100644 --- a/rpc/api/src/types.rs +++ b/rpc/api/src/types.rs @@ -491,7 +491,7 @@ impl From for BlockHeader { } impl FromIterator for Vec { - fn from_iter>(views: T) -> Self { + fn from_iter>(views: T) -> Self { let mut blocks = vec![]; for view in views { blocks.push(view.into()) @@ -1045,6 +1045,7 @@ impl From for TransactionStatusView { location, function, code_offset, + message: _, } => Self::ExecutionFailure { location, function, @@ -1084,6 +1085,7 @@ impl From for TransactionStatus { location, function, code_offset, + message: None, }), TransactionStatusView::Discard { status_code, @@ -1570,7 +1572,7 @@ impl JsonSchema for StrView { instance_type: Some(InstanceType::String.into()), ..Default::default() } - .into() + .into() } } @@ -1693,7 +1695,7 @@ impl FromStr for StructTagView { impl std::fmt::Display for StrView { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", &self.0) + write!(f, "{:?}", &self.0) } } diff --git a/vm/dev/src/playground.rs b/vm/dev/src/playground.rs index 4996298c5e..3f65594902 100644 --- a/vm/dev/src/playground.rs +++ b/vm/dev/src/playground.rs @@ -206,7 +206,7 @@ pub fn call_contract( if (ref_type.as_ref() == &TypeInstantiation::Address) || (ref_type.as_ref() == &TypeInstantiation::Signer) => {} (abi, value) => anyhow::bail!( - "arg type at position {} mismatch, expect {:?}, actual {}", + "arg type at position {} mismatch, expect {:?}, actual {:#?}", i, abi, value diff --git a/vm/transaction-builder/src/lib.rs b/vm/transaction-builder/src/lib.rs index c296bf64b6..c1aaa4154c 100644 --- a/vm/transaction-builder/src/lib.rs +++ b/vm/transaction-builder/src/lib.rs @@ -985,14 +985,14 @@ pub fn build_module_upgrade_queue( address: genesis_address(), module: Identifier::new("UpgradeModuleDaoProposal").unwrap(), name: Identifier::new("UpgradeModuleV2").unwrap(), - type_params: vec![], + type_args: vec![], })) } else { TypeTag::Struct(Box::new(StructTag { address: genesis_address(), module: Identifier::new("UpgradeModuleDaoProposal").unwrap(), name: Identifier::new("UpgradeModule").unwrap(), - type_params: vec![], + type_args: vec![], })) }; diff --git a/vm/vm-runtime/src/starcoin_vm.rs b/vm/vm-runtime/src/starcoin_vm.rs index 3e58ef62cc..73138d8cf3 100644 --- a/vm/vm-runtime/src/starcoin_vm.rs +++ b/vm/vm-runtime/src/starcoin_vm.rs @@ -685,7 +685,7 @@ impl StarcoinVM { gas_meter, sender, ) - .map_err(|e| e.into_vm_status())?; + .map_err(|e| e.into_vm_status())?; } charge_global_write_gas_usage(gas_meter, &session, &txn_data.sender())?; @@ -1409,7 +1409,7 @@ impl StarcoinVM { change_set, table_change_set, } - .into_change_set(&mut ())?; + .into_change_set(&mut ())?; if !write_set.is_empty() { warn!("Readonly function {} changes state", function_name); return Err(VMStatus::error(StatusCode::REJECTED_WRITE_SET, None)); @@ -1468,7 +1468,7 @@ impl StarcoinVM { txn_data.max_gas_amount, status, ) - .unwrap_or_else(|e| discard_error_vm_status(e).1); + .unwrap_or_else(|e| discard_error_vm_status(e).1); (error_code, txn_output) } TransactionStatus::Discard(status) => { @@ -1638,7 +1638,7 @@ pub(crate) fn get_transaction_output( change_set, table_change_set, } - .into_change_set(ap_cache)?; + .into_change_set(ap_cache)?; Ok(TransactionOutput::new( table_infos, write_set, From 5a54e66faa16d6dce02bfcdb94c7b268dfac7eeb Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 22 Aug 2024 21:11:17 +0800 Subject: [PATCH 21/28] fix starcoin-cmd --- Cargo.lock | 1 + account/api/Cargo.toml | 1 + account/api/src/types.rs | 6 +-- .../src/account/derive_account_address_cmd.rs | 5 +- cmd/starcoin/src/account/generate_keypair.rs | 1 + cmd/starcoin/src/dev/compile_cmd.rs | 12 +++-- types/src/account_address.rs | 1 + vm/types/src/account_address.rs | 52 ++++++++++++++++++- 8 files changed, 69 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3c0cdc4077..559aeada2b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9286,6 +9286,7 @@ dependencies = [ "starcoin-crypto", "starcoin-service-registry", "starcoin-types", + "starcoin-vm-types", "thiserror", ] diff --git a/account/api/Cargo.toml b/account/api/Cargo.toml index 93d289fb9a..f82293e91b 100644 --- a/account/api/Cargo.toml +++ b/account/api/Cargo.toml @@ -13,6 +13,7 @@ serde_json = { workspace = true } starcoin-crypto = { workspace = true } starcoin-service-registry = { workspace = true } starcoin-types = { workspace = true } +starcoin-vm-types = { workspace = true } thiserror = { workspace = true } [dev-dependencies] diff --git a/account/api/src/types.rs b/account/api/src/types.rs index d7a7d9d879..e9f8b3fbbc 100644 --- a/account/api/src/types.rs +++ b/account/api/src/types.rs @@ -5,12 +5,12 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use starcoin_crypto::keygen::KeyGen; use starcoin_types::account::Account; -use starcoin_types::account_address::AccountAddress; pub use starcoin_types::transaction::authenticator::{AccountPrivateKey, AccountPublicKey}; use starcoin_types::{ account_address::{self}, transaction::authenticator::AuthenticationKey, }; +use starcoin_vm_types::account_address::{AccountAddress, Bech32AccountAddress}; #[derive(Clone, Debug, Hash, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] pub struct AccountInfo { @@ -38,7 +38,7 @@ impl AccountInfo { is_default, is_readonly, is_locked, - receipt_identifier: address.to_standard_string(), + receipt_identifier: address.to_bech32(), } } @@ -61,7 +61,7 @@ impl AccountInfo { is_readonly: false, is_locked: false, public_key: account_public_key, - receipt_identifier: address.to_standard_string(), + receipt_identifier: address.to_bech32(), } } } diff --git a/cmd/starcoin/src/account/derive_account_address_cmd.rs b/cmd/starcoin/src/account/derive_account_address_cmd.rs index de37f17380..34ec738eae 100644 --- a/cmd/starcoin/src/account/derive_account_address_cmd.rs +++ b/cmd/starcoin/src/account/derive_account_address_cmd.rs @@ -11,15 +11,16 @@ use serde::Deserialize; use serde::Serialize; use starcoin_crypto::ed25519::Ed25519PublicKey; use starcoin_crypto::ValidCryptoMaterialStringExt; -use starcoin_types::account_address::AccountAddress; use starcoin_types::transaction::authenticator::AuthenticationKey; +use starcoin_vm_types::account_address::{AccountAddress, Bech32AccountAddress}; use starcoin_vm_types::transaction::authenticator::AccountPublicKey; /// Derive an address by public key. #[derive(Debug, Parser)] #[clap(name = "derive-address")] pub struct DeriveAddressOpt { - #[clap(short = 'p', long = "pubkey", required=true, min_values=1, max_values=32, parse(try_from_str=Ed25519PublicKey::from_encoded_string))] + #[clap(short = 'p', long = "pubkey", required = true, min_values = 1, max_values = 32, parse(try_from_str=Ed25519PublicKey::from_encoded_string + ))] /// public key used to derive address.If multi public keys is provided, a multi-sig account address is derived. public_key: Vec, diff --git a/cmd/starcoin/src/account/generate_keypair.rs b/cmd/starcoin/src/account/generate_keypair.rs index 5e79be4c6d..ae520718be 100644 --- a/cmd/starcoin/src/account/generate_keypair.rs +++ b/cmd/starcoin/src/account/generate_keypair.rs @@ -12,6 +12,7 @@ use starcoin_crypto::keygen::KeyGen; use starcoin_crypto::ValidCryptoMaterialStringExt; use starcoin_types::account_address::AccountAddress; use starcoin_types::transaction::authenticator::AuthenticationKey; +use starcoin_vm_types::account_address::Bech32AccountAddress; use starcoin_vm_types::transaction::authenticator::{AccountPrivateKey, AccountPublicKey}; use std::convert::TryInto; diff --git a/cmd/starcoin/src/dev/compile_cmd.rs b/cmd/starcoin/src/dev/compile_cmd.rs index 7350e86e82..58bc076b6b 100644 --- a/cmd/starcoin/src/dev/compile_cmd.rs +++ b/cmd/starcoin/src/dev/compile_cmd.rs @@ -14,6 +14,7 @@ use starcoin_move_compiler::{ compile_source_string_no_report, starcoin_framework_named_addresses, Compiler, }; use starcoin_vm_types::account_address::AccountAddress; +use std::collections::BTreeSet; use std::fs::File; use std::io::Write; use std::path::PathBuf; @@ -99,9 +100,14 @@ impl CommandAction for CompileCommand { )? } else { let targets = vec![source_file_or_dir.to_string_lossy().to_string()]; - Compiler::from_files(targets, deps, starcoin_framework_named_addresses()) - .set_flags(Flags::empty().set_sources_shadow_deps(true)) - .build()? + Compiler::from_files( + targets, + deps, + starcoin_framework_named_addresses(), + Flags::empty().set_sources_shadow_deps(true), + &BTreeSet::new(), + ) + .build()? }; let compile_result = if ctx.opt().no_verify { diff --git a/types/src/account_address.rs b/types/src/account_address.rs index 6acd4e7842..19718332f4 100644 --- a/types/src/account_address.rs +++ b/types/src/account_address.rs @@ -7,6 +7,7 @@ use crate::transaction::authenticator::AuthenticationKey; use starcoin_crypto::ed25519::Ed25519PublicKey; +//TODO(simon): make me private pub use starcoin_vm_types::account_address::AccountAddress; pub fn from_public_key(public_key: &Ed25519PublicKey) -> AccountAddress { diff --git a/vm/types/src/account_address.rs b/vm/types/src/account_address.rs index f924ed55bf..5f0baa23e1 100644 --- a/vm/types/src/account_address.rs +++ b/vm/types/src/account_address.rs @@ -4,9 +4,10 @@ // Copyright (c) The Diem Core Contributors // SPDX-License-Identifier: Apache-2.0 -pub use move_core_types::account_address::AccountAddress; - use crate::transaction::authenticator::AuthenticationKey; +use bech32::ToBase32; +pub use move_core_types::account_address::AccountAddress; +use move_core_types::account_address::AccountAddressParseError; use starcoin_crypto::ed25519::Ed25519PublicKey; use starcoin_crypto::hash::{CryptoHasher, HashValue}; @@ -36,6 +37,53 @@ impl HashAccountAddress for AccountAddress { } } +pub trait Bech32AccountAddress { + fn to_bech32(&self) -> String; + fn from_bech32(s: impl AsRef) -> Result + where + Self: Sized; +} + +fn parse_bench32(s: impl AsRef) -> anyhow::Result> { + let (hrp, data, variant) = bech32::decode(s.as_ref())?; + + anyhow::ensure!(variant == bech32::Variant::Bech32, "expect bech32 encoding"); + anyhow::ensure!(hrp.as_str() == "stc", "expect bech32 hrp to be stc"); + + let version = data.first().map(|u| u.to_u8()); + anyhow::ensure!(version.filter(|v| *v == 1u8).is_some(), "expect version 1"); + + let data: Vec = bech32::FromBase32::from_base32(&data[1..])?; + + if data.len() == AccountAddress::LENGTH { + Ok(data) + } else if data.len() == AccountAddress::LENGTH + 32 { + // for address + auth key format, just ignore auth key + Ok(data[0..AccountAddress::LENGTH].to_vec()) + } else { + anyhow::bail!("Invalid address's length"); + } +} + +impl Bech32AccountAddress for AccountAddress { + fn to_bech32(&self) -> String { + let mut data = self.to_vec().to_base32(); + data.insert( + 0, + bech32::u5::try_from_u8(1).expect("1 to u8 should success"), + ); + bech32::encode("stc", data, bech32::Variant::Bech32).expect("bech32 encode should success") + } + + // TODO(simon): Handle parse error properly. + fn from_bech32(s: impl AsRef) -> Result { + Self::from_bytes( + parse_bench32(s) + .map_err(|e| AccountAddressParseError::InvalidHexChars(e.to_string()))?, + ) + } +} + #[cfg(test)] mod test { use super::*; From 6dbb71d592cbae0f9458c763968e66e8cfa08756 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Fri, 23 Aug 2024 16:55:00 +0800 Subject: [PATCH 22/28] wrapping AccountAddressParseError --- vm/types/src/account_address.rs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/vm/types/src/account_address.rs b/vm/types/src/account_address.rs index 5f0baa23e1..2fc0999d04 100644 --- a/vm/types/src/account_address.rs +++ b/vm/types/src/account_address.rs @@ -7,7 +7,6 @@ use crate::transaction::authenticator::AuthenticationKey; use bech32::ToBase32; pub use move_core_types::account_address::AccountAddress; -use move_core_types::account_address::AccountAddressParseError; use starcoin_crypto::ed25519::Ed25519PublicKey; use starcoin_crypto::hash::{CryptoHasher, HashValue}; @@ -39,7 +38,7 @@ impl HashAccountAddress for AccountAddress { pub trait Bech32AccountAddress { fn to_bech32(&self) -> String; - fn from_bech32(s: impl AsRef) -> Result + fn from_bech32(s: impl AsRef) -> anyhow::Result where Self: Sized; } @@ -75,12 +74,8 @@ impl Bech32AccountAddress for AccountAddress { bech32::encode("stc", data, bech32::Variant::Bech32).expect("bech32 encode should success") } - // TODO(simon): Handle parse error properly. - fn from_bech32(s: impl AsRef) -> Result { - Self::from_bytes( - parse_bench32(s) - .map_err(|e| AccountAddressParseError::InvalidHexChars(e.to_string()))?, - ) + fn from_bech32(s: impl AsRef) -> anyhow::Result { + Self::from_bytes(parse_bench32(s)?).map_err(Into::into) } } From cc6ccc937fc6f1167d3de3e4f5f29cd695a064c4 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Mon, 26 Aug 2024 14:11:38 +0800 Subject: [PATCH 23/28] use 16-bytes AccountAddress --- Cargo.toml | 2 +- etc/onchain_events.yml | 2 +- etc/starcoin_types.yml | 2 +- vm/types/src/account_address.rs | 20 +++++++++++++++++++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cff695964d..22a569fc08 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -351,7 +351,7 @@ move-bytecode-verifier = { path = "../aptos-core/third_party/move/move-bytecode- move-cli = { path = "../aptos-core/third_party/move/tools/move-cli" } move-command-line-common = { path = "../aptos-core/third_party/move/move-command-line-common" } move-compiler = { path = "../aptos-core/third_party/move/move-compiler" } -move-core-types = { path = "../aptos-core/third_party/move/move-core/types" } +move-core-types = { path = "../aptos-core/third_party/move/move-core/types", features = ["address16"] } move-coverage = { path = "../aptos-core/third_party/move/tools/move-coverage" } move-disassembler = { path = "../aptos-core/third_party/move/tools/move-disassembler" } move-docgen = { path = "../aptos-core/third_party/move/move-prover/move-docgen" } diff --git a/etc/onchain_events.yml b/etc/onchain_events.yml index 45dbe09783..06c15f44e3 100644 --- a/etc/onchain_events.yml +++ b/etc/onchain_events.yml @@ -7,7 +7,7 @@ AccountAddress: NEWTYPESTRUCT: TUPLEARRAY: CONTENT: U8 - SIZE: 32 + SIZE: 16 BlockRewardEvent: STRUCT: - block_number: U64 diff --git a/etc/starcoin_types.yml b/etc/starcoin_types.yml index c2f6a5213e..c9e369c477 100644 --- a/etc/starcoin_types.yml +++ b/etc/starcoin_types.yml @@ -7,7 +7,7 @@ AccountAddress: NEWTYPESTRUCT: TUPLEARRAY: CONTENT: U8 - SIZE: 32 + SIZE: 16 AccountResource: STRUCT: - authentication_key: diff --git a/vm/types/src/account_address.rs b/vm/types/src/account_address.rs index 2fc0999d04..22b0f88b6a 100644 --- a/vm/types/src/account_address.rs +++ b/vm/types/src/account_address.rs @@ -60,7 +60,7 @@ fn parse_bench32(s: impl AsRef) -> anyhow::Result> { // for address + auth key format, just ignore auth key Ok(data[0..AccountAddress::LENGTH].to_vec()) } else { - anyhow::bail!("Invalid address's length"); + anyhow::bail!("Invalid address's length {}", data.len()); } } @@ -83,6 +83,7 @@ impl Bech32AccountAddress for AccountAddress { mod test { use super::*; use hex::FromHex; + use std::str::FromStr; #[test] fn address_hash() { @@ -97,4 +98,21 @@ mod test { assert_eq!(address.hash(), HashValue::new(hash)); } + + #[test] + fn test_bech32() { + let hex = "0xca843279e3427144cead5e4d5999a3d0"; + let json_hex = "\"0xca843279e3427144cead5e4d5999a3d0\""; + let bech32 = "stc1pe2zry70rgfc5fn4dtex4nxdr6qyyuevr"; + //let json_bech32 = "\"stc1pe2zry70rgfc5fn4dtex4nxdr6qyyuevr\""; + + let address = AccountAddress::from_str(hex).unwrap(); + let bech32_address = AccountAddress::from_bech32(bech32).unwrap(); + let json_address: AccountAddress = serde_json::from_str(json_hex).unwrap(); + //let json_bech32_address: AccountAddress = serde_json::from_str(json_bech32).unwrap(); + + assert_eq!(address, bech32_address); + assert_eq!(address, json_address); + //assert_eq!(address, json_bech32_address); + } } From 3e39736078e37face8810582cf2a5983d2e2a903 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Mon, 26 Aug 2024 19:05:46 +0800 Subject: [PATCH 24/28] upgrade to clap4 and fix transactional-test-harness --- Cargo.lock | 2 + Cargo.toml | 3 +- .../src/account/derive_account_address_cmd.rs | 4 +- .../src/account/execute_script_cmd.rs | 13 +- .../account/execute_script_function_cmd.rs | 7 +- cmd/starcoin/src/account/export_cmd.rs | 4 +- cmd/starcoin/src/account/import_cmd.rs | 6 +- .../src/account/import_multisig_cmd.rs | 7 +- .../src/account/rotate_auth_key_cmd.rs | 8 +- .../src/account/sign_multisig_txn_cmd.rs | 7 +- cmd/starcoin/src/dev/compile_cmd.rs | 9 +- cmd/starcoin/src/dev/package_cmd.rs | 26 ++- cmd/starcoin/src/dev/subscribe_cmd.rs | 9 +- .../src/dev/upgrade_module_exe_cmd.rs | 6 +- .../src/dev/upgrade_module_proposal_cmd.rs | 4 +- commons/scmd/src/command.rs | 10 +- commons/scmd/src/context.rs | 14 +- commons/scmd/src/error.rs | 2 +- config/src/account_provider_config.rs | 14 +- config/src/account_vault_config.rs | 6 +- config/src/lib.rs | 34 +-- config/src/network_config.rs | 44 ++-- config/src/rpc_config.rs | 84 +++---- vm/move-package-manager/src/lib.rs | 7 +- .../Cargo.toml | 2 + .../src/lib.rs | 213 ++++++++++-------- .../src/remote_state.rs | 133 +++++++---- vm/vm-runtime/Cargo.toml | 1 + vm/vm-runtime/src/data_cache.rs | 13 ++ 29 files changed, 406 insertions(+), 286 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 559aeada2b..c0f4ae2e36 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11064,6 +11064,7 @@ dependencies = [ "jsonrpc-http-server", "log 0.4.17", "move-binary-format", + "move-bytecode-utils", "move-command-line-common", "move-compiler", "move-core-types", @@ -11238,6 +11239,7 @@ dependencies = [ "bcs-ext", "hex", "move-binary-format", + "move-bytecode-utils", "move-core-types", "move-stdlib", "move-table-extension", diff --git a/Cargo.toml b/Cargo.toml index 22a569fc08..f1f8ad52ce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -271,7 +271,7 @@ bs58 = "0.3.1" byteorder = "1.3.4" bytes = "1" chrono = { version = "0.4.19", default-features = false, features = ["clock"] } -clap = { version = "3", features = ["derive"] } +clap = { version = "4.5", features = ["derive"] } cli-table = "0.3.2" coarsetime = "0.1.22" codespan = { version = "0.8.0", features = ["serialization"] } @@ -348,6 +348,7 @@ mirai-annotations = "1.10.1" move-binary-format = { path = "../aptos-core/third_party/move/move-binary-format" } move-bytecode-source-map = { path = "../aptos-core/third_party/move/move-ir-compiler/move-bytecode-source-map" } move-bytecode-verifier = { path = "../aptos-core/third_party/move/move-bytecode-verifier" } +move-bytecode-utils = { path = "../aptos-core/third_party/move/tools/move-bytecode-utils" } move-cli = { path = "../aptos-core/third_party/move/tools/move-cli" } move-command-line-common = { path = "../aptos-core/third_party/move/move-command-line-common" } move-compiler = { path = "../aptos-core/third_party/move/move-compiler" } diff --git a/cmd/starcoin/src/account/derive_account_address_cmd.rs b/cmd/starcoin/src/account/derive_account_address_cmd.rs index 34ec738eae..226daae831 100644 --- a/cmd/starcoin/src/account/derive_account_address_cmd.rs +++ b/cmd/starcoin/src/account/derive_account_address_cmd.rs @@ -19,8 +19,8 @@ use starcoin_vm_types::transaction::authenticator::AccountPublicKey; #[derive(Debug, Parser)] #[clap(name = "derive-address")] pub struct DeriveAddressOpt { - #[clap(short = 'p', long = "pubkey", required = true, min_values = 1, max_values = 32, parse(try_from_str=Ed25519PublicKey::from_encoded_string - ))] + #[arg(short = 'p', long = "pubkey", required = true, num_args(1..=32), value_parser = Ed25519PublicKey::from_encoded_string + )] /// public key used to derive address.If multi public keys is provided, a multi-sig account address is derived. public_key: Vec, diff --git a/cmd/starcoin/src/account/execute_script_cmd.rs b/cmd/starcoin/src/account/execute_script_cmd.rs index e32db254ff..7ef01cd08d 100644 --- a/cmd/starcoin/src/account/execute_script_cmd.rs +++ b/cmd/starcoin/src/account/execute_script_cmd.rs @@ -4,7 +4,7 @@ use std::path::PathBuf; use anyhow::{bail, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use starcoin_move_compiler::load_bytecode_file; @@ -22,22 +22,23 @@ use crate::StarcoinOpt; #[derive(Debug, Parser)] #[clap(name = "execute-script")] pub struct ExecuteScriptOpt { - #[clap( + #[arg( short = 't', long = "type_tag", name = "type-tag", help = "can specify multi type_tag", - parse(try_from_str = parse_type_tag) + value_parser = parse_type_tag )] type_tags: Option>, - #[clap(long = "arg", name = "transaction-args", help = "can specify multi arg", parse(try_from_str = parse_transaction_argument_advance))] + #[arg(long = "arg", name = "transaction-args", help = "can specify multi arg", value_parser = parse_transaction_argument_advance + )] args: Option>, - #[clap(flatten)] + #[command(flatten)] transaction_opts: TransactionOptions, - #[clap(name = "mv_file", parse(from_os_str))] + #[arg(name = "mv_file", value_parser = value_parser!(std::ffi::OsString))] /// bytecode file of the script to execute. mv_file: PathBuf, } diff --git a/cmd/starcoin/src/account/execute_script_function_cmd.rs b/cmd/starcoin/src/account/execute_script_function_cmd.rs index 6498b39a52..37d03972f6 100644 --- a/cmd/starcoin/src/account/execute_script_function_cmd.rs +++ b/cmd/starcoin/src/account/execute_script_function_cmd.rs @@ -17,16 +17,17 @@ use starcoin_vm_types::{language_storage::TypeTag, parser::parse_type_tag}; #[derive(Debug, Parser)] #[clap(name = "execute-function")] pub struct ExecuteScriptFunctionOpt { - #[clap( + #[arg( short = 't', long = "type_tag", name = "type-tag", - parse(try_from_str = parse_type_tag) + value_parser = parse_type_tag )] /// type tags for the script type_tags: Option>, - #[clap(long = "arg", name = "transaction-args", parse(try_from_str = parse_transaction_argument_advance))] + #[arg(long = "arg", name = "transaction-args", value_parser = parse_transaction_argument_advance + )] /// args for the script. args: Option>, diff --git a/cmd/starcoin/src/account/export_cmd.rs b/cmd/starcoin/src/account/export_cmd.rs index 4454d65b3c..da5de990df 100644 --- a/cmd/starcoin/src/account/export_cmd.rs +++ b/cmd/starcoin/src/account/export_cmd.rs @@ -4,7 +4,7 @@ use crate::cli_state::CliState; use crate::StarcoinOpt; use anyhow::{bail, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use serde::{Deserialize, Serialize}; use starcoin_crypto::ValidCryptoMaterialStringExt; @@ -21,7 +21,7 @@ pub struct ExportOpt { account_address: AccountAddress, #[clap(short = 'p', default_value = "")] password: String, - #[clap(short = 'o', parse(from_os_str))] + #[arg(short = 'o', value_parser = value_parser!(std::ffi::OsString))] output_file: Option, } diff --git a/cmd/starcoin/src/account/import_cmd.rs b/cmd/starcoin/src/account/import_cmd.rs index 77c7183b44..3b9a124e83 100644 --- a/cmd/starcoin/src/account/import_cmd.rs +++ b/cmd/starcoin/src/account/import_cmd.rs @@ -4,7 +4,7 @@ use crate::cli_state::CliState; use crate::StarcoinOpt; use anyhow::{bail, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use starcoin_account_api::{AccountInfo, AccountPrivateKey}; use starcoin_crypto::{ValidCryptoMaterial, ValidCryptoMaterialStringExt}; @@ -21,10 +21,10 @@ pub struct ImportOpt { #[clap(name = "input", short = 'i', help = "input of private key")] from_input: Option, - #[clap( + #[arg( short = 'f', help = "file path of private key", - parse(from_os_str), + value_parser = value_parser!(std::ffi::OsString), conflicts_with("input") )] from_file: Option, diff --git a/cmd/starcoin/src/account/import_multisig_cmd.rs b/cmd/starcoin/src/account/import_multisig_cmd.rs index 33055c5d93..32e37d1d85 100644 --- a/cmd/starcoin/src/account/import_multisig_cmd.rs +++ b/cmd/starcoin/src/account/import_multisig_cmd.rs @@ -26,7 +26,7 @@ pub struct ImportMultisigOpt { /// if account_address is absent, generate address by public_key. account_address: Option, - #[clap(long = "pubkey", max_values=32, parse(try_from_str=Ed25519PublicKey::from_encoded_string))] + #[arg(long = "pubkey", num_args(1..=32), value_parser = Ed25519PublicKey::from_encoded_string)] /// public keys of other participants in this multisig account. public_keys: Vec, @@ -34,11 +34,12 @@ pub struct ImportMultisigOpt { /// In multi-sig case, a threshold is needed. threshold: u8, - #[clap(long = "prikey", max_values = 32, parse(try_from_str=Ed25519PrivateKey::from_encoded_string))] + #[arg(long = "prikey", num_args(1..=32), value_parser = Ed25519PrivateKey::from_encoded_string + )] /// hex encoded private key, if you control multi private keys, provide multi args. private_keys: Vec, - #[clap(long = "prikey-file", max_values = 32)] + #[arg(long = "prikey-file", num_args(1..=32))] /// private key file contain the hex-encoded private key, if you control multi private keys, provide multi args. private_key_files: Vec, } diff --git a/cmd/starcoin/src/account/rotate_auth_key_cmd.rs b/cmd/starcoin/src/account/rotate_auth_key_cmd.rs index d046e37a0b..c34689fd72 100644 --- a/cmd/starcoin/src/account/rotate_auth_key_cmd.rs +++ b/cmd/starcoin/src/account/rotate_auth_key_cmd.rs @@ -4,7 +4,7 @@ use std::path::PathBuf; use anyhow::{bail, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use starcoin_crypto::{ValidCryptoMaterial, ValidCryptoMaterialStringExt}; use scmd::{CommandAction, ExecContext}; @@ -35,7 +35,7 @@ pub struct RotateAuthKeyOpt { )] account_address: AccountAddress, - #[clap(flatten)] + #[command(flatten)] transaction_opts: TransactionOptions, #[clap( @@ -44,10 +44,10 @@ pub struct RotateAuthKeyOpt { help = "input of private key for rotating" )] from_input: Option, - #[clap( + #[arg( short = 'f', help = "file path of private key", - parse(from_os_str), + value_parser = value_parser!(std::ffi::OsString), conflicts_with("input") )] from_file: Option, diff --git a/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs b/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs index f4de302deb..0ef5bfbcff 100644 --- a/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs +++ b/cmd/starcoin/src/account/sign_multisig_txn_cmd.rs @@ -46,16 +46,17 @@ pub struct GenerateMultisigTxnOpt { /// script function to execute, example: 0x1::TransferScripts::peer_to_peer_v2 script_function: Option, - #[clap( + #[arg( short = 't', long = "type_tag", name = "type-tag", help = "can specify multi type_tag", - parse(try_from_str = parse_type_tag) + value_parser = parse_type_tag )] type_tags: Option>, - #[clap(long = "arg", name = "transaction-arg", parse(try_from_str = parse_transaction_argument_advance))] + #[arg(long = "arg", name = "transaction-arg", value_parser = parse_transaction_argument_advance + )] /// transaction arguments args: Option>, diff --git a/cmd/starcoin/src/dev/compile_cmd.rs b/cmd/starcoin/src/dev/compile_cmd.rs index 58bc076b6b..37cb36a925 100644 --- a/cmd/starcoin/src/dev/compile_cmd.rs +++ b/cmd/starcoin/src/dev/compile_cmd.rs @@ -4,7 +4,7 @@ use crate::cli_state::CliState; use crate::StarcoinOpt; use anyhow::{bail, ensure, format_err, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use starcoin_move_compiler::move_command_line_common::files::{ MOVE_COMPILED_EXTENSION, MOVE_EXTENSION, @@ -40,7 +40,12 @@ pub struct CompileOpt { )] deps: Option>, - #[clap(short = 'o', name = "out_dir", help = "out dir", parse(from_os_str))] + #[arg( + short = 'o', + name = "out_dir", + help = "out dir", + value_parser = value_parser!(std::ffi::OsString) + )] out_dir: Option, #[clap(name = "source_file_or_dir", help = "source file path")] diff --git a/cmd/starcoin/src/dev/package_cmd.rs b/cmd/starcoin/src/dev/package_cmd.rs index 195d4d1880..a7694474b6 100644 --- a/cmd/starcoin/src/dev/package_cmd.rs +++ b/cmd/starcoin/src/dev/package_cmd.rs @@ -4,7 +4,7 @@ use crate::cli_state::CliState; use crate::StarcoinOpt; use anyhow::{bail, ensure, format_err, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use serde::{Deserialize, Serialize}; use starcoin_crypto::hash::PlainCryptoHash; @@ -27,10 +27,10 @@ use std::path::{Path, PathBuf}; #[derive(Debug, Parser)] #[clap(name = "package")] pub struct PackageOpt { - #[clap( + #[arg( name = "mv-file-or-dir", help = "path for move bytecode file, can be a folder.", - parse(from_os_str) + value_parser = value_parser!(std::ffi::OsString) )] mv_file_or_dir: PathBuf, @@ -41,20 +41,26 @@ pub struct PackageOpt { )] init_script: Option, - #[clap( - short = 't', - long = "type_tag", - name = "type-tag", - parse(try_from_str = parse_type_tag) + #[arg( + short = 't', + long = "type_tag", + name = "type-tag", + value_parser = parse_type_tag )] /// type tags for the script type_tags: Option>, - #[clap(long = "arg", name = "transaction-args", parse(try_from_str = parse_transaction_argument_advance))] + #[arg(long = "arg", name = "transaction-args", value_parser = parse_transaction_argument_advance + )] /// args for the script. args: Option>, - #[clap(short = 'o', name = "out-dir", help = "out dir", parse(from_os_str))] + #[arg( + short = 'o', + name = "out-dir", + help = "out dir", + value_parser = value_parser!(std::ffi::OsString) + )] out_dir: Option, #[clap(short = 'n', name = "package-name", long = "name")] diff --git a/cmd/starcoin/src/dev/subscribe_cmd.rs b/cmd/starcoin/src/dev/subscribe_cmd.rs index 48ae82c7ce..80897066ff 100644 --- a/cmd/starcoin/src/dev/subscribe_cmd.rs +++ b/cmd/starcoin/src/dev/subscribe_cmd.rs @@ -23,18 +23,17 @@ pub struct SubscribeEventOpt { from_block: Option, #[clap(short = 't', long = "to", name = "to_block", help = "to block number")] to_block: Option, - #[clap( + #[arg( short = 'k', long = "event-key", name = "event_key", - help = "event key", - multiple_occurrences = true + help = "event key" )] event_key: Option>, - #[clap(long = "address", name = "address", multiple_occurrences = true)] + #[arg(long = "address", name = "address")] /// events of which addresses to subscribe addresses: Option>, - #[clap(long = "type_tag", name = "type-tag", multiple_occurrences = true)] + #[arg(long = "type_tag", name = "type-tag")] /// type tags of the events to subscribe type_tags: Option>, #[clap(short = 'l', long = "limit", name = "limit")] diff --git a/cmd/starcoin/src/dev/upgrade_module_exe_cmd.rs b/cmd/starcoin/src/dev/upgrade_module_exe_cmd.rs index 22244eb248..808ec7b74d 100644 --- a/cmd/starcoin/src/dev/upgrade_module_exe_cmd.rs +++ b/cmd/starcoin/src/dev/upgrade_module_exe_cmd.rs @@ -6,7 +6,7 @@ use crate::dev::dev_helper; use crate::view::{ExecuteResultView, TransactionOptions}; use crate::StarcoinOpt; use anyhow::Result; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use starcoin_vm_types::transaction::TransactionPayload; use std::path::PathBuf; @@ -18,11 +18,11 @@ pub struct UpgradeModuleExeOpt { #[clap(flatten)] transaction_opts: TransactionOptions, - #[clap( + #[arg( short = 'm', name = "mv-or-package-file", long = "mv-or-package-file", - parse(from_os_str) + value_parser = value_parser!(std::ffi::OsString) )] /// path for module or package file. mv_or_package_file: PathBuf, diff --git a/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs b/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs index 7a5e88df50..0fce661a20 100644 --- a/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs +++ b/cmd/starcoin/src/dev/upgrade_module_proposal_cmd.rs @@ -7,7 +7,7 @@ use crate::dev::sign_txn_helper::get_dao_config; use crate::view::{ExecuteResultView, TransactionOptions}; use crate::StarcoinOpt; use anyhow::{bail, format_err, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use scmd::{CommandAction, ExecContext}; use starcoin_rpc_client::StateRootOption; use starcoin_state_api::StateReaderExt; @@ -33,7 +33,7 @@ pub struct UpgradeModuleProposalOpt { short = 'm', name = "mv-or-package-file", long = "mv-or-package-file", - parse(from_os_str) + value_parser = value_parser!(std::ffi::OsString) )] /// path for module or package file. mv_or_package_file: PathBuf, diff --git a/commons/scmd/src/command.rs b/commons/scmd/src/command.rs index d98f35c97e..5fa2169cb2 100644 --- a/commons/scmd/src/command.rs +++ b/commons/scmd/src/command.rs @@ -29,7 +29,7 @@ where arg_matches: &ArgMatches, ) -> Result<(HistoryOp, Value)>; - fn get_command(&mut self) -> &mut Command<'static>; + fn get_command(&mut self) -> &mut Command; } pub struct ExecContext @@ -77,7 +77,7 @@ where Action: CommandAction + 'static, { - app: Command<'static>, + app: Command, action: Option, subcommands: HashMap>>, global_opt: PhantomData, @@ -88,7 +88,7 @@ impl CustomCommand Self { + pub fn with_name(name: &'static str) -> Self { Self { app: Command::new(name), action: None, @@ -163,7 +163,7 @@ where self.app.get_name() } - pub fn app(&self) -> &Command<'static> { + pub fn app(&self) -> &Command { &self.app } @@ -272,7 +272,7 @@ where Ok(value) } - fn get_command(&mut self) -> &mut Command<'static> { + fn get_command(&mut self) -> &mut Command { &mut self.app } } diff --git a/commons/scmd/src/context.rs b/commons/scmd/src/context.rs index 622769651b..23290148e8 100644 --- a/commons/scmd/src/context.rs +++ b/commons/scmd/src/context.rs @@ -9,8 +9,8 @@ use crate::{ OutputFormat, }; use anyhow::Result; +use clap::{error::ErrorKind, Parser}; use clap::{Arg, Command}; -use clap::{ErrorKind, Parser}; use rustyline::{error::ReadlineError, Config as ConsoleConfig, Editor}; use serde_json::Value; use std::collections::HashMap; @@ -29,7 +29,7 @@ where State: 'static, GlobalOpt: Parser + 'static, { - app: Command<'static>, + app: Command, commands: HashMap>>, default_action: Box, state_initializer: Box Result>, @@ -93,7 +93,7 @@ where Arg::new(G_OUTPUT_FORMAT_ARG) .short('o') .help("set output-format, support [json|table]") - .takes_value(true) + .num_args(1..) .default_value("json"), ); Self { @@ -199,7 +199,7 @@ where }; let output_format = matches - .value_of(G_OUTPUT_FORMAT_ARG) + .get_one::(G_OUTPUT_FORMAT_ARG) .expect("output-format arg must exist") .parse() .expect("parse output-format must success."); @@ -267,8 +267,10 @@ where Command::new("output") .arg( Arg::new("format") - .takes_value(true) - .possible_values(["json", "table"]) + .num_args(1..) + .value_parser(clap::builder::PossibleValuesParser::new(vec![ + "json", "table", + ])) .ignore_case(true) .default_value("json") .help("Output format should be json or table."), diff --git a/commons/scmd/src/error.rs b/commons/scmd/src/error.rs index 66728ee002..5ff631f2a3 100644 --- a/commons/scmd/src/error.rs +++ b/commons/scmd/src/error.rs @@ -1,7 +1,7 @@ // Copyright (c) The Starcoin Core Contributors // SPDX-License-Identifier: Apache-2.0 -use clap::ErrorKind; +use clap::error::ErrorKind; use thiserror::Error; #[derive(Error, Debug)] diff --git a/config/src/account_provider_config.rs b/config/src/account_provider_config.rs index 25879cb609..2962bd0339 100644 --- a/config/src/account_provider_config.rs +++ b/config/src/account_provider_config.rs @@ -1,6 +1,6 @@ use crate::{BaseConfig, ConfigModule, StarcoinOpt}; use anyhow::{bail, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use serde::{Deserialize, Serialize}; use starcoin_account_api::AccountProviderStrategy; use starcoin_types::account_address::AccountAddress; @@ -13,29 +13,29 @@ pub const G_ENV_PRIVATE_KEY: &str = "STARCOIN_PRIVATE_KEY"; pub struct AccountProviderConfig { /// Path to the local account provider dir, load the accounts from local dir path #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "local-account-dir", parse(from_os_str))] + #[arg(long = "local-account-dir", value_parser = value_parser!(std::ffi::OsString))] pub account_dir: Option, /// Path to the secret file storing the private key. #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( long = "secret-file", help = "file path of private key", - parse(from_os_str) + value_parser = value_parser!(std::ffi::OsString) )] pub secret_file: Option, /// Read private from env variable `STARCOIN_PRIVATE_KEY`. #[serde(default)] - #[clap(long = "from-env")] + #[arg(long = "from-env")] pub from_env: bool, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] pub account_address: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] provider_strategy: AccountProviderStrategy, } diff --git a/config/src/account_vault_config.rs b/config/src/account_vault_config.rs index c4208b5153..af39a853fd 100644 --- a/config/src/account_vault_config.rs +++ b/config/src/account_vault_config.rs @@ -3,7 +3,7 @@ use crate::{BaseConfig, ConfigModule, StarcoinOpt}; use anyhow::Result; -use clap::Parser; +use clap::{value_parser, Parser}; use once_cell::sync::Lazy; use serde::{Deserialize, Serialize}; use std::path::PathBuf; @@ -15,13 +15,13 @@ static G_DEFAULT_DIR: Lazy = Lazy::new(|| PathBuf::from("account_vaults #[serde(deny_unknown_fields)] pub struct AccountVaultConfig { #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "vault-dir", parse(from_os_str))] + #[arg(long = "vault-dir", value_parser = value_parser!(std::ffi::OsString))] /// Account vault dir config. /// Default: account_vaults in data_dir dir: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] base: Option>, } diff --git a/config/src/lib.rs b/config/src/lib.rs index 491edce6b9..4c7ee71adc 100644 --- a/config/src/lib.rs +++ b/config/src/lib.rs @@ -5,7 +5,7 @@ use crate::account_vault_config::AccountVaultConfig; use crate::helper::{load_config, save_config}; use crate::sync_config::SyncConfig; use anyhow::{ensure, format_err, Result}; -use clap::Parser; +use clap::{value_parser, Parser}; use git_version::git_version; use once_cell::sync::Lazy; use serde::{de::DeserializeOwned, Deserialize, Serialize}; @@ -177,52 +177,52 @@ static G_OPT_NET_HELP: &str = r#"Chain Network #[clap(name = "starcoin", about = "Starcoin")] pub struct StarcoinOpt { #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long, short = 'c')] + #[arg(long, short = 'c')] /// Connect and attach to a node pub connect: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "data-dir", short = 'd', parse(from_os_str))] + #[arg(long = "data-dir", short = 'd', value_parser = value_parser!(std::ffi::OsString))] /// Path to data dir, this dir is base dir, the final data_dir is base_dir/chain_network_name pub base_data_dir: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long, short = 'n', help = G_OPT_NET_HELP)] + #[arg(long, short = 'n', help = G_OPT_NET_HELP)] pub net: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "watch-timeout")] + #[arg(long = "watch-timeout")] /// Watch timeout in seconds pub watch_timeout: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "genesis-config")] + #[arg(long = "genesis-config")] /// Init chain by a custom genesis config. if want to reuse builtin network config, just pass a builtin network name. /// This option only work for node init start. pub genesis_config: Option, - #[clap(flatten)] + #[command(flatten)] pub rpc: RpcConfig, - #[clap(flatten)] + #[command(flatten)] pub logger: LoggerConfig, - #[clap(flatten)] + #[command(flatten)] pub metrics: MetricsConfig, - #[clap(flatten)] + #[command(flatten)] pub miner: MinerConfig, - #[clap(flatten)] + #[command(flatten)] pub network: NetworkConfig, - #[clap(flatten)] + #[command(flatten)] pub txpool: TxPoolConfig, - #[clap(flatten)] + #[command(flatten)] pub storage: StorageConfig, - #[clap(flatten)] + #[command(flatten)] pub sync: SyncConfig, - #[clap(flatten)] + #[command(flatten)] pub vault: AccountVaultConfig, #[serde(default)] - #[clap(flatten)] + #[command(flatten)] pub stratum: StratumConfig, - #[clap(flatten)] + #[command(flatten)] pub account_provider: AccountProviderConfig, } diff --git a/config/src/network_config.rs b/config/src/network_config.rs index f7393db847..0860300669 100644 --- a/config/src/network_config.rs +++ b/config/src/network_config.rs @@ -7,7 +7,7 @@ use crate::{ ConfigModule, QuotaDuration, StarcoinOpt, }; use anyhow::Result; -use clap::Parser; +use clap::{value_parser, Parser}; use network_api::messages::{NotificationMessage, BLOCK_PROTOCOL_NAME}; use network_p2p_types::peer_id::PeerId; use network_p2p_types::{ @@ -35,7 +35,7 @@ static G_NETWORK_KEY_FILE: Lazy = Lazy::new(|| PathBuf::from("network_k #[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize, Parser)] pub struct NetworkRpcQuotaConfiguration { #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( name = "p2prpc-default-global-api-quota", long, help = "default global p2p rpc quota, eg: 1000/s" @@ -43,11 +43,11 @@ pub struct NetworkRpcQuotaConfiguration { pub default_global_api_quota: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( name = "p2prpc-custom-global-api-quota", long, number_of_values = 1, - parse(try_from_str = parse_key_val) + value_parser = parse_key_val:: )] /// customize global p2p rpc quota, eg: get_block=100/s /// number_of_values = 1 forces the user to repeat the -D option for each key-value pair: @@ -63,11 +63,11 @@ pub struct NetworkRpcQuotaConfiguration { pub default_user_api_quota: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( name = "p2prpc-custom-user-api-quota", long, help = "customize p2p rpc quota of a peer, eg: get_block=10/s", - parse(try_from_str = parse_key_val), + value_parser = parse_key_val::, number_of_values = 1 )] pub custom_user_api_quota: Option>, @@ -169,31 +169,35 @@ impl From> for Seeds { #[serde(deny_unknown_fields)] pub struct NetworkConfig { #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "node-name")] + #[arg(long = "node-name")] /// Node network name, just for display, if absent will generate a random name. pub node_name: Option, #[serde(skip)] - #[clap(long = "node-key")] + #[arg(long = "node-key")] /// Node network private key string. /// This option is skip for config file, only support cli option, after init will write the key to node_key_file pub node_key: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "node-key-file", parse(from_os_str), conflicts_with("node-key"))] + #[arg( + long = "node-key-file", + value_parser = value_parser!(std::ffi::OsString), + conflicts_with("node-key") + )] /// Node network private key file, default is network_key under the data dir. pub node_key_file: Option, #[serde(skip_serializing_if = "Seeds::is_empty")] #[serde(default)] - #[clap(long = "seed", default_value = "")] + #[arg(long = "seed", default_value = "")] /// P2P network seed, multi seed should use ',' as delimiter. pub seeds: Seeds, /// Enable peer discovery on local networks. /// By default this option is `false`. only support cli option. #[serde(skip)] - #[clap(long = "discover-local")] + #[arg(long = "discover-local")] pub discover_local: Option, #[serde(skip)] @@ -206,45 +210,45 @@ pub struct NetworkConfig { pub network_rpc_quotas: NetworkRpcQuotaConfiguration, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long)] + #[arg(long)] /// min peers to propagate new block and new transactions. Default 8. min_peers_to_propagate: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long)] + #[arg(long)] ///max peers to propagate new block and new transactions. Default 128. max_peers_to_propagate: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long)] + #[arg(long)] ///max count for incoming peers. Default 25. max_incoming_peers: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long)] + #[arg(long)] ///max count for outgoing connected peers. Default 75. /// max peers = max_incoming_peers + max_outgoing_peers max_outgoing_peers: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long)] + #[arg(long)] /// p2p network listen address, Default is /ip4/0.0.0.0/tcp/9840 listen: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] base: Option>, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] network_keypair: Option<(Ed25519PrivateKey, Ed25519PublicKey)>, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] generate_listen: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "unsupported-protocols", long, use_value_delimiter = true)] + #[arg(name = "unsupported-protocols", long, use_value_delimiter = true)] pub unsupported_protocols: Option>, } diff --git a/config/src/rpc_config.rs b/config/src/rpc_config.rs index e92f71190c..50e8336460 100644 --- a/config/src/rpc_config.rs +++ b/config/src/rpc_config.rs @@ -30,22 +30,22 @@ const DEFAULT_TXN_INFO_QUEYR_MAX_RANGE: u64 = 32; #[derive(Debug, Default, Clone, PartialEq, Deserialize, Serialize, Parser)] pub struct HttpConfiguration { #[serde(skip)] - #[clap(name = "disable-http-rpc", long)] + #[arg(name = "disable-http-rpc", long)] ///disable http jsonrpc endpoint pub disable: bool, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "http-apis", long)] + #[arg(name = "http-apis", long)] ///rpc apiset to serve pub apis: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "http-port", long)] + #[arg(name = "http-port", long)] /// Default http port is 9850 pub port: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( name = "http-max-request-body", long, help = "max request body in bytes" @@ -54,17 +54,17 @@ pub struct HttpConfiguration { pub max_request_body_size: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "http-threads", long)] + #[arg(name = "http-threads", long)] /// How many thread to use for http service. pub threads: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "http-ip-headers", long, use_value_delimiter = true)] + #[arg(name = "http-ip-headers", long, use_value_delimiter = true)] /// list of http header which identify a ip, Default: X-Real-IP,X-Forwarded-For pub ip_headers: Option>, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "unsupported-rpc-protocols", long, use_value_delimiter = true)] + #[arg(name = "unsupported-rpc-protocols", long, use_value_delimiter = true)] unsupported_rpc_protocols: Option>, } @@ -137,15 +137,15 @@ impl HttpConfiguration { #[derive(Debug, Default, Clone, PartialEq, Deserialize, Serialize, Parser)] pub struct TcpConfiguration { #[serde(skip)] - #[clap(name = "disable-tcp-rpc", long, help = "disable tcp jsonrpc endpoint")] + #[arg(name = "disable-tcp-rpc", long, help = "disable tcp jsonrpc endpoint")] pub disable: bool, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "tcp-apis", long, help = "rpc apiset to serve")] + #[arg(name = "tcp-apis", long, help = "rpc apiset to serve")] pub apis: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "tcp-port", long)] + #[arg(name = "tcp-port", long)] /// Default tcp port is 9860 pub port: Option, } @@ -172,7 +172,7 @@ impl TcpConfiguration { #[derive(Debug, Default, Clone, PartialEq, Deserialize, Serialize, Parser)] pub struct WsConfiguration { #[serde(skip)] - #[clap( + #[arg( name = "disable-websocket-rpc", long, help = "disable websocket jsonrpc endpoint" @@ -180,16 +180,16 @@ pub struct WsConfiguration { pub disable: bool, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "websocket-apis", long, help = "rpc apiset to serve")] + #[arg(name = "websocket-apis", long, help = "rpc apiset to serve")] pub apis: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "websocket-port", long)] + #[arg(name = "websocket-port", long)] /// Default websocket port is 9870 pub port: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "websocket-max-request-body", long)] + #[arg(name = "websocket-max-request-body", long)] /// Max request body in bytes, Default is 10M pub max_request_body_size: Option, } @@ -222,11 +222,11 @@ impl WsConfiguration { #[derive(Default, Debug, Clone, PartialEq, Deserialize, Serialize, Parser)] pub struct IpcConfiguration { #[serde(skip)] - #[clap(name = "disable-ipc-rpc", long, help = "disable ipc jsonrpc endpoint")] + #[arg(name = "disable-ipc-rpc", long, help = "disable ipc jsonrpc endpoint")] pub disable: bool, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(name = "ipc-apis", long, help = "rpc apiset to serve")] + #[arg(name = "ipc-apis", long, help = "rpc apiset to serve")] pub apis: Option, } @@ -248,7 +248,7 @@ impl IpcConfiguration { #[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize, Parser)] pub struct ApiQuotaConfiguration { #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( name = "jsonrpc-default-global-api-quota", long, help = "default api quota, eg: 1000/s" @@ -256,19 +256,19 @@ pub struct ApiQuotaConfiguration { pub default_global_api_quota: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap( - name = "jsonrpc-custom-global-api-quota", - long, - help = "customize api quota, eg: node.info=100/s", - number_of_values = 1, - parse(try_from_str = parse_key_val) + #[arg( + name = "jsonrpc-custom-global-api-quota", + long, + help = "customize api quota, eg: node.info=100/s", + number_of_values = 1, + value_parser = parse_key_val:: )] /// number_of_values = 1 forces the user to repeat the -D option for each key-value pair: /// my_program -D a=1 -D b=2 pub custom_global_api_quota: Option>, #[serde(skip_serializing_if = "Option::is_none")] - #[clap( + #[arg( name = "jsonrpc-default-user-api-quota", long, help = "default api quota of user, eg: 1000/s" @@ -276,12 +276,12 @@ pub struct ApiQuotaConfiguration { pub default_user_api_quota: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap( - name = "jsonrpc-custom-user-api-quota", - long, - help = "customize api quota of user, eg: node.info=100/s", - number_of_values = 1, - parse(try_from_str = parse_key_val) + #[arg( + name = "jsonrpc-custom-user-api-quota", + long, + help = "customize api quota of user, eg: node.info=100/s", + number_of_values = 1, + value_parser = parse_key_val:: )] pub custom_user_api_quota: Option>, } @@ -339,52 +339,52 @@ impl ApiQuotaConfiguration { #[serde(deny_unknown_fields)] pub struct RpcConfig { #[serde(default)] - #[clap(flatten)] + #[command(flatten)] pub http: HttpConfiguration, #[serde(default)] - #[clap(flatten)] + #[command(flatten)] pub tcp: TcpConfiguration, #[serde(default)] - #[clap(flatten)] + #[command(flatten)] pub ws: WsConfiguration, #[serde(default)] - #[clap(flatten)] + #[command(flatten)] pub ipc: IpcConfiguration, #[serde(default)] - #[clap(flatten)] + #[command(flatten)] pub api_quotas: ApiQuotaConfiguration, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "rpc-address")] + #[arg(long = "rpc-address")] /// Rpc address, default is 0.0.0.0 pub rpc_address: Option, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "event-query-max-block-range")] + #[arg(long = "event-query-max-block-range")] pub block_query_max_range: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] http_address: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] tcp_address: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] ws_address: Option, #[serde(skip)] - #[clap(skip)] + #[arg(skip)] base: Option>, #[serde(skip_serializing_if = "Option::is_none")] - #[clap(long = "query-max-txn-info-range")] + #[arg(long = "query-max-txn-info-range")] pub txn_info_query_max_range: Option, } diff --git a/vm/move-package-manager/src/lib.rs b/vm/move-package-manager/src/lib.rs index c49ece8446..e8a4989000 100644 --- a/vm/move-package-manager/src/lib.rs +++ b/vm/move-package-manager/src/lib.rs @@ -8,7 +8,7 @@ use move_command_line_common::testing::UPDATE_BASELINE; use move_compiler::command_line::compiler::construct_pre_compiled_lib_from_compiler; use move_compiler::diagnostics::report_diagnostics; use move_compiler::shared::unique_map::UniqueMap; -use move_compiler::shared::NamedAddressMaps; +use move_compiler::shared::{NamedAddressMaps, PackagePaths}; use move_compiler::{ cfgir, expansion, hlir, naming, parser, typing, Compiler, FullyCompiledProgram, }; @@ -120,7 +120,7 @@ pub struct IntegrationTestCommand { current_as_stdlib: bool, } -static G_PRE_COMPILED_LIB: Lazy>> = +static G_PRE_COMPILED_LIB: Lazy)>>> = Lazy::new(|| Mutex::new(None)); pub fn run_integration_test(move_arg: Move, cmd: IntegrationTestCommand) -> Result<()> { if cmd.task_help { @@ -250,7 +250,8 @@ pub fn run_integration_test(move_arg: Move, cmd: IntegrationTestCommand) -> Resu { // update the global - *G_PRE_COMPILED_LIB.lock().unwrap() = Some(pre_compiled_lib); + // TODO(simon): update the global with the compiled package. + *G_PRE_COMPILED_LIB.lock().unwrap() = Some((pre_compiled_lib, vec![])); } let spectests_dir = rerooted_path.join("spectests"); diff --git a/vm/starcoin-transactional-test-harness/Cargo.toml b/vm/starcoin-transactional-test-harness/Cargo.toml index 63dcdf341b..5adf519659 100644 --- a/vm/starcoin-transactional-test-harness/Cargo.toml +++ b/vm/starcoin-transactional-test-harness/Cargo.toml @@ -30,6 +30,7 @@ move-core-types = { workspace = true } move-vm-types = { workspace = true } move-transactional-test-runner = { workspace = true } move-table-extension = { workspace = true } +move-bytecode-utils = { workspace = true } once_cell = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } @@ -62,6 +63,7 @@ starcoin-vm-runtime = { workspace = true } starcoin-vm-types = { workspace = true } stdlib = { workspace = true } starcoin-dag = { workspace = true } +bytes = { workspace = true } [dev-dependencies] datatest-stable = { workspace = true } diff --git a/vm/starcoin-transactional-test-harness/src/lib.rs b/vm/starcoin-transactional-test-harness/src/lib.rs index c65e9ef51b..3e510ae166 100644 --- a/vm/starcoin-transactional-test-harness/src/lib.rs +++ b/vm/starcoin-transactional-test-harness/src/lib.rs @@ -17,15 +17,17 @@ use move_core_types::{ identifier::{IdentStr, Identifier}, language_storage::{ModuleId, TypeTag}, }; +use move_resource_viewer::MoveValueAnnotator; use move_transactional_test_runner::framework; use move_transactional_test_runner::tasks::{ PrintBytecodeCommand, PublishCommand, RunCommand, ViewCommand, }; +use move_transactional_test_runner::vm_test_harness::{PrecompiledFilesModules, TestRunConfig}; use move_transactional_test_runner::{ framework::{CompiledState, MoveTestAdapter}, tasks::{InitCommand, SyntaxChoice, TaskInput}, - vm_test_harness::view_resource_in_move_storage, }; +use move_vm_types::resolver::ResourceResolver; use once_cell::sync::Lazy; use serde::Deserialize; use serde::Serialize; @@ -41,6 +43,7 @@ use starcoin_rpc_api::types::{ }; use starcoin_rpc_api::Params; use starcoin_state_api::{ChainStateReader, StateReaderExt}; +use starcoin_statedb::ChainStateDB; use starcoin_types::account::{Account, AccountData}; use starcoin_types::block::{Block, BlockBody, BlockHeader, BlockHeaderExtra}; use starcoin_types::transaction::Package; @@ -71,7 +74,7 @@ use starcoin_vm_types::{ transaction::{Module, Script, ScriptFunction, Transaction, TransactionStatus}, vm_status::KeptVMStatus, }; -use std::collections::HashMap; +use std::collections::{BTreeSet, HashMap}; use std::fs::File; use std::io::{Read, Write}; use std::path::PathBuf; @@ -100,11 +103,9 @@ pub struct ExtraInitArgs { /// genesis with the network network: Option, - #[clap( + #[arg( + num_args(1..=100), long = "public-keys", - takes_value(true), - multiple_values(true), - multiple_occurrences(true) )] /// the `public-keys` option is deprecated, please remove it. public_keys: Option>, @@ -125,7 +126,7 @@ pub struct StarcoinRunArgs {} #[derive(Debug, Parser)] #[clap(name = "faucet")] struct FaucetSub { - #[clap(long="addr", parse(try_from_str=ParsedAddress::parse))] + #[arg(long = "addr", value_parser = ParsedAddress::parse)] /// faucet target address address: ParsedAddress, #[clap(long = "amount", default_value = "100000000000")] @@ -136,7 +137,7 @@ struct FaucetSub { #[derive(Debug, Parser)] #[clap(name = "block")] struct BlockSub { - #[clap(long, parse(try_from_str=ParsedAddress::parse))] + #[arg(long, value_parser = ParsedAddress::parse)] author: Option, #[clap(long)] timestamp: Option, @@ -167,7 +168,7 @@ pub struct CallAPISub { #[clap(name = "method")] /// api method to call, example: node.info method: String, - #[clap(name = "params", default_value = "", parse(try_from_str=parse_params))] + #[arg(name = "params", default_value = "", value_parser = parse_params)] /// api params, should be a json array string params: Params, } @@ -175,12 +176,10 @@ pub struct CallAPISub { #[derive(Debug, Parser)] #[clap(name = "package")] pub struct PackageSub { - #[clap( - long = "signers", - parse(try_from_str = ParsedAddress::parse), - takes_value(true), - multiple_values(true), - multiple_occurrences(true) + #[arg( + long = "signers", + value_parser = ParsedAddress::parse, + num_args(1..100), )] signers: Vec, #[clap(long = "init-function")] @@ -197,12 +196,10 @@ pub struct PackageSub { #[derive(Debug, Parser)] #[clap(name = "deploy")] pub struct DeploySub { - #[clap( - long = "signers", - parse(try_from_str = ParsedAddress::parse), - takes_value(true), - multiple_values(true), - multiple_occurrences(true) + #[arg( + long = "signers", + value_parser = ParsedAddress::parse, + num_args(1..100), )] signers: Vec, /// max gas for transaction. @@ -216,11 +213,9 @@ pub struct DeploySub { #[derive(Debug, Parser)] #[clap(name = "var")] pub struct VarSub { - #[clap(name="var", - parse(try_from_str = parse_var), - takes_value(true), - multiple_values(true), - multiple_occurrences(true) + #[arg(name = "var", + value_parser = parse_var, + num_args(1..100), )] /// variables with format =, =,... var: Vec<(String, String)>, @@ -238,7 +233,7 @@ pub struct ReadJsonSub { pub enum StarcoinSubcommands { #[clap(name = "faucet")] Faucet { - #[clap(long="addr", parse(try_from_str=ParsedAddress::parse))] + #[arg(long = "addr", value_parser = ParsedAddress::parse)] address: ParsedAddress, #[clap(long = "amount", default_value = "100000000000")] initial_balance: u128, @@ -246,7 +241,7 @@ pub enum StarcoinSubcommands { #[clap(name = "block")] NewBlock { - #[clap(long, parse(try_from_str=ParsedAddress::parse))] + #[arg(long, value_parser = ParsedAddress::parse)] author: Option, #[clap(long)] timestamp: Option, @@ -269,7 +264,7 @@ pub enum StarcoinSubcommands { #[clap(name = "method")] /// api name to call, example: node.info method: String, - #[clap(name = "params", default_value = "", parse(try_from_str=parse_params))] + #[arg(name = "params", default_value = "", value_parser = parse_params)] /// api params, should be a json array string params: Params, }, @@ -286,12 +281,10 @@ pub enum StarcoinSubcommands { }, #[clap(name = "deploy")] Deploy { - #[clap( - long = "signers", - parse(try_from_str = ParsedAddress::parse), - takes_value(true), - multiple_values(true), - multiple_occurrences(true) + #[arg( + long = "signers", + value_parser = ParsedAddress::parse, + num_args(1..100), )] signers: Vec, #[clap(long = "gas-budget")] @@ -302,11 +295,9 @@ pub enum StarcoinSubcommands { }, #[clap(name = "var")] Var { - #[clap(name="var", - parse(try_from_str = parse_var), - takes_value(true), - multiple_values(true), - multiple_occurrences(true) + #[arg(name = "var", + value_parser = parse_var, + num_args(1..100), )] var: Vec<(String, String)>, }, @@ -413,7 +404,7 @@ impl From for StarcoinSubcommands { } impl clap::Args for StarcoinSubcommands { - fn augment_args(cmd: clap::Command<'_>) -> clap::Command<'_> { + fn augment_args(cmd: clap::Command) -> clap::Command { let faucet = FaucetSub::augment_args(clap::Command::new("faucet")); let block = BlockSub::augment_args(clap::Command::new("block")); let call = CallSub::augment_args(clap::Command::new("call")); @@ -432,7 +423,7 @@ impl clap::Args for StarcoinSubcommands { .subcommand(read_json) } - fn augment_args_for_update(_cmd: clap::Command<'_>) -> clap::Command<'_> { + fn augment_args_for_update(_cmd: clap::Command) -> clap::Command { todo!() } } @@ -460,6 +451,7 @@ pub struct StarcoinTestAdapter<'a> { compiled_state: CompiledState<'a>, // storage: SelectableStateView>, default_syntax: SyntaxChoice, + known_attributes: BTreeSet, context: ForkContext, tempdir: TempDir, debug: bool, @@ -554,7 +546,7 @@ impl<'a> StarcoinTestAdapter<'a> { address: genesis_address(), module: Identifier::new("Account")?, name: Identifier::new("SignerDelegated")?, - type_params: vec![], + type_args: vec![], }, )), WriteOp::Deletion, @@ -719,7 +711,7 @@ impl<'a> StarcoinTestAdapter<'a> { )?; let move_resolver = RemoteStorage::new(&self.context.storage); - let annotator = move_resource_viewer::MoveValueAnnotator::new(&move_resolver); + let annotator = move_resource_viewer::MoveValueAnnotator::new(move_resolver); let rets = rets .into_iter() .map(|(ty, v)| annotator.view_value(&ty, &v)) @@ -917,7 +909,7 @@ impl<'a> StarcoinTestAdapter<'a> { }; let data_path = data.path().to_str().unwrap(); let (named_addr_opt, module, warnings_opt) = { - let (unit, warnings_opt) = self.compiled_state.complie(data_path)?; + let (unit, warnings_opt) = self.compiled_state.compile(data_path)?; match unit { AnnotatedCompiledUnit::Module(annot_module) => { let (named_addr_opt, _id) = annot_module.module_id(); @@ -1043,6 +1035,31 @@ impl<'a> StarcoinTestAdapter<'a> { } } +fn view_resource_in_move_storage( + storage: RemoteStorage, + address: AccountAddress, + module: &ModuleId, + resource: &IdentStr, + type_args: Vec, +) -> Result { + let tag = StructTag { + address: *module.address(), + module: module.name().to_owned(), + name: resource.to_owned(), + type_args, + }; + match storage + .get_resource_bytes_with_metadata_and_layout(&address, &tag, &vec![], None)? + .0 + { + None => Ok("[No Resource Exists]".to_owned()), + Some(data) => { + let annotated = MoveValueAnnotator::new(storage).view_resource(&tag, &data)?; + Ok(format!("{}", &annotated)) + } + } +} + impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { type ExtraPublishArgs = StarcoinPublishArgs; type ExtraValueArgs = (); @@ -1058,12 +1075,20 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { self.default_syntax } + fn known_attributes(&self) -> &BTreeSet { + //TODO(simon): implement it properly. + &self.known_attributes + } + fn init( default_syntax: SyntaxChoice, - pre_compiled_deps: Option<&'a FullyCompiledProgram>, - task_opt: Option>, + _comparison_mode: bool, + _run_config: TestRunConfig, + pre_compiled_deps: Option<&'a (FullyCompiledProgram, Vec)>, + _pre_compiled_deps_v2: Option<&'a PrecompiledFilesModules>, + init_data: Option>, ) -> (Self, Option) { - let (additional_mapping, extra_arg) = match task_opt.map(|t| t.command) { + let (additional_mapping, extra_arg) = match init_data.map(|t| t.command) { Some((InitCommand { named_addresses }, extra_arg)) => ( verify_and_create_named_address_mapping(named_addresses).unwrap(), Some(extra_arg), @@ -1106,7 +1131,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { "Current project must be framework." ); let mut modules: Vec> = vec![]; - for c in &pre_compiled_deps.unwrap().compiled { + for c in &pre_compiled_deps.unwrap().0.compiled { if let CompiledUnitEnum::Module(m) = c { let mut buffer: Vec = vec![]; m.named_module.module.serialize(&mut buffer).unwrap(); @@ -1126,7 +1151,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { // add pre compiled modules if let Some(pre_compiled_lib) = pre_compiled_deps { let mut writes = WriteSetMut::default(); - for c in &pre_compiled_lib.compiled { + for c in &pre_compiled_lib.0.compiled { if let CompiledUnitEnum::Module(m) = c { // update named_address_mapping if let Some(named_address) = &m.address_name { @@ -1164,8 +1189,14 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { } let mut me = Self { - compiled_state: CompiledState::new(named_address_mapping, pre_compiled_deps, None), + compiled_state: CompiledState::new( + named_address_mapping, + pre_compiled_deps, + None, + None, + ), default_syntax, + known_attributes: BTreeSet::new(), context, tempdir: TempDir::new().unwrap(), debug: init_args.debug, @@ -1190,7 +1221,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { named_addr_opt: Option, gas_budget: Option, _extra: Self::ExtraPublishArgs, - ) -> anyhow::Result<(Option, CompiledModule, Option)> { + ) -> Result<(Option, CompiledModule)> { let module_id = module.self_id(); let signer = match named_addr_opt { Some(name) => self.compiled_state.resolve_named_address(name.as_str()), @@ -1212,11 +1243,10 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { let output = self.run_transaction(txn)?; match output.output.status { - TransactionStatusView::Executed => Ok((None, module, None)), + TransactionStatusView::Executed => Ok((None, module)), _ => Ok(( Some(format!("Publish failure: {:?}", output.output.status)), module, - Some(serde_json::to_value(&output)?), )), } } @@ -1229,7 +1259,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { args: Vec, gas_budget: Option, _extra_args: Self::ExtraRunArgs, - ) -> anyhow::Result<(Option, SerializedReturnValues, Option)> { + ) -> Result> { assert!(!signers.is_empty()); if signers.len() != 1 { panic!("Expected 1 signer, got {}.", signers.len()); @@ -1295,15 +1325,12 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { gas_used: output.output.gas_used.0, status: output.output.status.clone(), }; - let value = SerializedReturnValues { + //TODO(simon): remove me. + let _value = SerializedReturnValues { mutable_reference_outputs: vec![], return_values: vec![], }; - Ok(( - Some(serde_json::to_string_pretty(&result)?), - value, - Some(serde_json::to_value(&output)?), - )) + Ok(Some(serde_json::to_string_pretty(&result)?)) } fn call_function( @@ -1315,7 +1342,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { args: Vec, gas_budget: Option, _extra_args: Self::ExtraRunArgs, - ) -> anyhow::Result<(Option, SerializedReturnValues, Option)> { + ) -> Result<(Option, SerializedReturnValues)> { { assert!(!signers.is_empty()); if signers.len() != 1 { @@ -1350,11 +1377,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { mutable_reference_outputs: vec![], return_values: vec![], }; - Ok(( - Some(serde_json::to_string_pretty(&result)?), - value, - Some(serde_json::to_value(&output)?), - )) + Ok((Some(serde_json::to_string_pretty(&result)?), value)) } fn view_data( @@ -1363,15 +1386,15 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { module: &ModuleId, resource: &IdentStr, type_args: Vec, - ) -> anyhow::Result<(String, Value)> { + ) -> anyhow::Result { let s = RemoteStorage::new(&self.context.storage); - view_resource_in_move_storage(&s, address, module, resource, type_args) + view_resource_in_move_storage(s, address, module, resource, type_args) } fn handle_subcommand( &mut self, subcommand: TaskInput, - ) -> anyhow::Result<(Option, Option)> { + ) -> Result> { let (result_str, cmd_var_ctx) = match subcommand.command { StarcoinSubcommands::Faucet { address, @@ -1411,7 +1434,7 @@ impl<'a> MoveTestAdapter<'a> for StarcoinTestAdapter<'a> { eprintln!("{}: {}", subcommand.name, cmd_var_ctx); } } - Ok((result_str, cmd_var_ctx)) + Ok(result_str) } } @@ -1431,9 +1454,15 @@ pub fn run_test(path: &Path) -> Result<(), Box> pub fn run_test_impl<'a>( path: &Path, - fully_compiled_program_opt: Option<&'a FullyCompiledProgram>, + pre_compiled_deps_v1: Option<&'a (FullyCompiledProgram, Vec)>, ) -> Result<(), Box> { - framework::run_test_impl::(path, fully_compiled_program_opt) + framework::run_test_impl::( + TestRunConfig::CompilerV1, + path, + pre_compiled_deps_v1, + None, + &None, + ) } pub fn print_help(task_name: Option) -> Result<()> { @@ -1478,26 +1507,30 @@ pub fn print_help(task_name: Option) -> Result<()> { } } -pub static G_PRECOMPILED_STARCOIN_FRAMEWORK: Lazy = Lazy::new(|| { - let sources = stdlib_files(); - let program_res = construct_pre_compiled_lib( - vec![PackagePaths { +//TODO(simon): construct PackagePaths properly +pub static G_PRECOMPILED_STARCOIN_FRAMEWORK: Lazy<(FullyCompiledProgram, Vec)> = + Lazy::new(|| { + let sources = stdlib_files(); + let package_paths = vec![PackagePaths { name: None, paths: sources, named_address_map: starcoin_framework_named_addresses(), - }], - None, - move_compiler::Flags::empty(), - ) - .unwrap(); - match program_res { - Ok(df) => df, - Err((files, errors)) => { - eprintln!("!!!Starcoin Framework failed to compile!!!"); - move_compiler::diagnostics::report_diagnostics(&files, errors) - } - } -}); + }]; + let program_res = construct_pre_compiled_lib( + package_paths, + None, + move_compiler::Flags::empty(), + &BTreeSet::new(), + ) + .unwrap(); + ( + program_res.unwrap_or_else(|(files, errors)| { + eprintln!("!!!Starcoin Framework failed to compile!!!"); + move_compiler::diagnostics::report_diagnostics(&files, errors) + }), + vec![], + ) + }); fn convert_u8(val: u8) -> u8 { // val >= 'a' && val <= 'z' diff --git a/vm/starcoin-transactional-test-harness/src/remote_state.rs b/vm/starcoin-transactional-test-harness/src/remote_state.rs index e2b56117ef..b6542b2381 100644 --- a/vm/starcoin-transactional-test-harness/src/remote_state.rs +++ b/vm/starcoin-transactional-test-harness/src/remote_state.rs @@ -3,10 +3,12 @@ use anyhow::{anyhow, Result}; use jsonrpc_client_transports::RpcChannel; -use move_binary_format::errors::VMError; use move_vm_types::resolver::{ModuleResolver, ResourceResolver}; use starcoin_crypto::HashValue; +use bytes::Bytes; +use move_core_types::metadata::Metadata; +use move_core_types::value::MoveTypeLayout; use move_table_extension::{TableHandle, TableResolver}; use starcoin_rpc_api::chain::ChainApiClient; use starcoin_rpc_api::state::StateApiClient; @@ -35,11 +37,16 @@ pub enum SelectableStateView { impl ModuleResolver for SelectableStateView where A: ModuleResolver, - B: ModuleResolver, + B: ModuleResolver, { - type Error = A::Error; + fn get_module_metadata(&self, module_id: &ModuleId) -> Vec { + match self { + Self::A(a) => a.get_module_metadata(module_id), + Self::B(b) => b.get_module_metadata(module_id), + } + } - fn get_module(&self, module_id: &ModuleId) -> Result>, Self::Error> { + fn get_module(&self, module_id: &ModuleId) -> PartialVMResult> { match self { Self::A(a) => a.get_module(module_id), Self::B(b) => b.get_module(module_id), @@ -49,17 +56,22 @@ where impl ResourceResolver for SelectableStateView where A: ResourceResolver, - B: ResourceResolver, + B: ResourceResolver, { - type Error = A::Error; - fn get_resource( + fn get_resource_bytes_with_metadata_and_layout( &self, address: &AccountAddress, - tag: &StructTag, - ) -> Result>, Self::Error> { + struct_tag: &StructTag, + metadata: &[Metadata], + layout: Option<&MoveTypeLayout>, + ) -> PartialVMResult<(Option, usize)> { match self { - Self::A(v) => v.get_resource(address, tag), - Self::B(v) => v.get_resource(address, tag), + Self::A(v) => { + v.get_resource_bytes_with_metadata_and_layout(address, struct_tag, metadata, layout) + } + Self::B(v) => { + v.get_resource_bytes_with_metadata_and_layout(address, struct_tag, metadata, layout) + } } } } @@ -141,26 +153,37 @@ impl UnionedRemoteCache { impl ResourceResolver for UnionedRemoteCache where A: ResourceResolver, - B: ResourceResolver, + B: ResourceResolver, { - type Error = A::Error; - fn get_resource( + fn get_resource_bytes_with_metadata_and_layout( &self, address: &AccountAddress, - tag: &StructTag, - ) -> Result>, Self::Error> { - match self.a.get_resource(address, tag)? { - Some(d) => Ok(Some(d)), - None => self.b.get_resource(address, tag), - } + struct_tag: &StructTag, + metadata: &[Metadata], + layout: Option<&MoveTypeLayout>, + ) -> PartialVMResult<(Option, usize)> { + self.a + .get_resource_bytes_with_metadata_and_layout(address, struct_tag, metadata, layout) + .or_else(|_| { + self.b.get_resource_bytes_with_metadata_and_layout( + address, struct_tag, metadata, layout, + ) + }) } } impl ModuleResolver for UnionedRemoteCache where A: ModuleResolver, - B: ModuleResolver, + B: ModuleResolver, { - fn get_module(&self, module_id: &ModuleId) -> Result>, Self::Error> { + fn get_module_metadata(&self, module_id: &ModuleId) -> Vec { + match self.a.get_module_metadata(module_id) { + d if !d.is_empty() => d, + _ => self.b.get_module_metadata(module_id), + } + } + + fn get_module(&self, module_id: &ModuleId) -> PartialVMResult> { match self.a.get_module(module_id)? { Some(d) => Ok(Some(d)), None => self.b.get_module(module_id), @@ -254,7 +277,7 @@ impl RemoteRpcAsyncClient { }) } - pub async fn get_module_async(&self, module_id: &ModuleId) -> VMResult>> { + pub async fn get_module_async(&self, module_id: &ModuleId) -> PartialVMResult>> { let ap = AccessPath::new( *module_id.address(), DataPath::Code(module_id.name().to_owned()), @@ -263,9 +286,7 @@ impl RemoteRpcAsyncClient { .state_client .get_with_proof_by_root(ap, self.state_root) .await - .map_err(|_| { - PartialVMError::new(StatusCode::STORAGE_ERROR).finish(Location::Undefined) - })?; + .map_err(|_| PartialVMError::new(StatusCode::STORAGE_ERROR))?; Ok(state_with_proof.state.map(|v| v.0)) } @@ -286,7 +307,7 @@ impl RemoteRpcAsyncClient { &self, handle: &TableHandle, key: &[u8], - ) -> Result>> { + ) -> PartialVMResult>> { let handle1: StarcoinTableHandle = StarcoinTableHandle(handle.0); let state_table_item_proof: StateWithTableItemProofView = self .state_client @@ -355,30 +376,46 @@ impl RemoteViewer { } impl ModuleResolver for RemoteViewer { - type Error = VMError; + fn get_module_metadata(&self, _module_id: &ModuleId) -> Vec { + //TODO(simon): implement async interface in RemoteRpcAsyncClient + todo!() + } - fn get_module(&self, module_id: &ModuleId) -> VMResult>> { + fn get_module(&self, module_id: &ModuleId) -> PartialVMResult> { let handle = self.rt.handle().clone(); - handle.block_on(self.svc.get_module_async(module_id)) + let bytes = handle.block_on(self.svc.get_module_async(module_id))?; + Ok(bytes.map(Into::into)) } } impl ResourceResolver for RemoteViewer { - type Error = PartialVMError; - fn get_resource( + fn get_resource_bytes_with_metadata_and_layout( &self, address: &AccountAddress, - tag: &StructTag, - ) -> PartialVMResult>> { + struct_tag: &StructTag, + _metadata: &[Metadata], + _layout: Option<&MoveTypeLayout>, + ) -> PartialVMResult<(Option, usize)> { let handle = self.rt.handle().clone(); - handle.block_on(self.svc.get_resource_async(address, tag)) + let bytes = handle.block_on(self.svc.get_resource_async(address, struct_tag))?; + Ok(bytes.map_or((None, 0), |r| { + let b = Bytes::from(r); + let len = b.len(); + (Some(b), len) + })) } } impl TableResolver for RemoteViewer { - fn resolve_table_entry(&self, handle: &TableHandle, key: &[u8]) -> Result>> { + fn resolve_table_entry_bytes_with_layout( + &self, + handle: &TableHandle, + key: &[u8], + _maybe_layout: Option<&MoveTypeLayout>, + ) -> Result, PartialVMError> { let h = self.rt.handle().clone(); - h.block_on(self.svc.resolve_table_entry_async(handle, key)) + let bytes = h.block_on(self.svc.resolve_table_entry_async(handle, key))?; + Ok(bytes.map(Into::into)) } } @@ -388,15 +425,25 @@ impl StateView for RemoteViewer { StateKey::AccessPath(access_path) => match &access_path.path { DataPath::Code(m) => Ok(self .get_module(&ModuleId::new(access_path.address, m.clone())) - .map_err(|err| err.into_vm_status())?), + .map(|m| m.map(Into::into)) + .map_err(|err| err.finish(Location::Undefined))?), DataPath::Resource(s) => Ok(self - .get_resource(&access_path.address, s) + .get_resource_bytes_with_metadata_and_layout( + &access_path.address, + &s, + &vec![], + None, + ) + .map(|v| v.0.map(Into::into)) .map_err(|err| err.finish(Location::Undefined).into_vm_status())?), }, - StateKey::TableItem(table_item) => Ok(self.resolve_table_entry( - &move_table_extension::TableHandle(table_item.handle.0), - table_item.key.as_slice(), - )?), + StateKey::TableItem(table_item) => Ok(self + .resolve_table_entry_bytes_with_layout( + &move_table_extension::TableHandle(table_item.handle.0), + table_item.key.as_slice(), + None, + )? + .map(Into::into)), } } diff --git a/vm/vm-runtime/Cargo.toml b/vm/vm-runtime/Cargo.toml index da6c7232e0..331615868e 100644 --- a/vm/vm-runtime/Cargo.toml +++ b/vm/vm-runtime/Cargo.toml @@ -18,6 +18,7 @@ move-core-types = { workspace = true } once_cell = { workspace = true } tracing = { workspace = true } move-vm-runtime = { workspace = true } +move-bytecode-utils = { workspace = true } num_enum = { workspace = true } rand = { workspace = true } rand_core = { default-features = false, workspace = true } diff --git a/vm/vm-runtime/src/data_cache.rs b/vm/vm-runtime/src/data_cache.rs index 2e988c36ed..7de31befd7 100644 --- a/vm/vm-runtime/src/data_cache.rs +++ b/vm/vm-runtime/src/data_cache.rs @@ -5,6 +5,7 @@ use crate::create_access_path; use bytes::Bytes; use move_binary_format::CompiledModule; +use move_bytecode_utils::compiled_module_viewer::CompiledModuleView; use move_core_types::metadata::Metadata; use move_core_types::value::MoveTypeLayout; use move_table_extension::{TableHandle, TableResolver}; @@ -195,6 +196,18 @@ impl<'a, S: StateView> TableResolver for RemoteStorage<'a, S> { }) } } +impl<'a, S: StateView> CompiledModuleView for RemoteStorage<'a, S> { + type Item = CompiledModule; + + fn view_compiled_module(&self, id: &ModuleId) -> anyhow::Result> { + let module = match self.get_module(id) { + Ok(Some(module)) => module, + _ => return Ok(None), + }; + + Ok(Some(CompiledModule::deserialize(&module)?)) + } +} pub trait AsMoveResolver { fn as_move_resolver(&self) -> RemoteStorage; From d32cd3e4eff92683841ebcaf1ec690f65839a74a Mon Sep 17 00:00:00 2001 From: simonjiao Date: Wed, 28 Aug 2024 17:39:50 +0800 Subject: [PATCH 25/28] fix mpm binary --- Cargo.lock | 1 + vm/move-package-manager/Cargo.toml | 1 + .../src/compatibility_check_cmd.rs | 20 ++++---- .../src/extended_checks.rs | 8 +-- vm/move-package-manager/src/lib.rs | 51 ++++++++++++------- vm/move-package-manager/src/main.rs | 36 ++----------- vm/move-package-manager/src/package.rs | 26 +++++----- vm/move-package-manager/src/release.rs | 42 ++++++++------- 8 files changed, 91 insertions(+), 94 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c0f4ae2e36..03f11ccbae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5578,6 +5578,7 @@ dependencies = [ "move-unit-test", "move-vm-runtime", "move-vm-test-utils", + "move-vm-types", "once_cell", "starcoin-account-provider", "starcoin-cmd", diff --git a/vm/move-package-manager/Cargo.toml b/vm/move-package-manager/Cargo.toml index 4488bf0a78..0610d711d8 100644 --- a/vm/move-package-manager/Cargo.toml +++ b/vm/move-package-manager/Cargo.toml @@ -35,6 +35,7 @@ move-command-line-common = { workspace = true } move-compiler = { workspace = true } move-core-types = { workspace = true } move-coverage = { workspace = true } +move-vm-types = { workspace = true } move-disassembler = { workspace = true } move-errmapgen = { workspace = true } move-model = { workspace = true } diff --git a/vm/move-package-manager/src/compatibility_check_cmd.rs b/vm/move-package-manager/src/compatibility_check_cmd.rs index 61ca9b5e10..6ea1e23dd5 100644 --- a/vm/move-package-manager/src/compatibility_check_cmd.rs +++ b/vm/move-package-manager/src/compatibility_check_cmd.rs @@ -5,11 +5,11 @@ use crate::release::module; use anyhow::{ensure, Ok}; use clap::Parser; use itertools::Itertools; +use move_binary_format::errors::Location; use move_binary_format::CompiledModule; -use move_cli::sandbox::utils::PackageContext; use move_cli::Move; -use move_core_types::resolver::ModuleResolver; use move_package::compilation::compiled_package::CompiledUnitWithSource; +use move_vm_types::resolver::ModuleResolver; use starcoin_cmd::dev::dev_helper::{self}; use starcoin_config::BuiltinNetworkID; use starcoin_move_compiler::check_compiled_module_compat; @@ -39,8 +39,10 @@ pub fn handle_compatibility_check( move_args: &Move, cmd: CompatibilityCheckCommand, ) -> anyhow::Result<()> { - let pkg_ctx = PackageContext::new(&move_args.package_path, &move_args.build_config)?; - let pkg = pkg_ctx.package(); + let (compiled_package, pkg_info) = move_args + .build_config + .clone() + .compile_package_with_pkg_info(&move_args.package_path.clone().unwrap(), &mut Vec::new())?; let rpc = cmd.rpc.unwrap_or_else(|| { format!( @@ -55,11 +57,11 @@ pub fn handle_compatibility_check( let remote_view = RemoteViewer::from_url(&rpc, cmd.block_number)?; let mut incompatible_module_ids = vec![]; - for m in pkg.root_compiled_units.as_slice() { + for m in compiled_package.root_compiled_units.as_slice() { let m = module(&m.unit)?; let old_module = remote_view .get_module(&m.self_id()) - .map_err(|e| e.into_vm_status())?; + .map_err(|e| e.finish(Location::Undefined))?; if let Some(old) = old_module { let old_module = CompiledModule::deserialize(&old)?; let compatibility = check_compiled_module_compat(&old_module, m); @@ -82,7 +84,7 @@ pub fn handle_compatibility_check( } else { eprintln!( "All modules in {} is full compatible with remote chain: {}!", - pkg.compiled_package_info.package_name, &rpc + pkg_info.name, &rpc ); } @@ -92,7 +94,7 @@ pub fn handle_compatibility_check( handle_pre_version_compatibility_check( cmd.pre_modules.unwrap(), - pkg.all_modules().collect_vec(), + compiled_package.all_modules().collect_vec(), )?; Ok(()) } @@ -154,7 +156,7 @@ fn handle_pre_version_compatibility_check( ); std::process::exit(1); } else { - eprintln!("All previous modules is full compatible with current modules!",); + eprintln!("All previous modules is full compatible with current modules!", ); } Ok(()) diff --git a/vm/move-package-manager/src/extended_checks.rs b/vm/move-package-manager/src/extended_checks.rs index 90a783f0bc..3846359f48 100644 --- a/vm/move-package-manager/src/extended_checks.rs +++ b/vm/move-package-manager/src/extended_checks.rs @@ -4,6 +4,7 @@ use move_core_types::{ account_address::AccountAddress, identifier::Identifier, language_storage::ModuleId, }; +use move_model::ty::ReferenceKind; use move_model::{ ast::Attribute, model::{FunctionEnv, GlobalEnv, Loc, ModuleEnv, QualifiedId, StructId}, @@ -73,7 +74,7 @@ impl<'a> ExtendedChecker<'a> { #[allow(unused)] fn get_runtime_module_id(&self, module: &ModuleEnv<'_>) -> ModuleId { let name = module.get_name(); - let addr = AccountAddress::from_hex_literal(&format!("0x{:x}", name.addr())).unwrap(); + let addr = name.addr().expect_numerical(); let name = Identifier::new(self.name_string(name.name()).to_string()).unwrap(); ModuleId::new(addr, name) } @@ -127,8 +128,9 @@ impl<'a> ExtendedChecker<'a> { Primitive(_) | TypeParameter(_) => { // Any primitive type allowed, any parameter expected to instantiate with primitive } - //todo(simon): give it a try to change me to Reference(ReferenceKind::Immutable, bt) - Reference(false, bt) if matches!(bt.as_ref(), Primitive(PrimitiveType::Signer)) => { + Reference(ReferenceKind::Immutable, bt) + if matches!(bt.as_ref(), Primitive(PrimitiveType::Signer)) => + { // Reference to signer allowed } Vector(ety) => { diff --git a/vm/move-package-manager/src/lib.rs b/vm/move-package-manager/src/lib.rs index e8a4989000..7bcf31b14d 100644 --- a/vm/move-package-manager/src/lib.rs +++ b/vm/move-package-manager/src/lib.rs @@ -2,24 +2,27 @@ // SPDX-License-Identifier: Apache-2.0 use anyhow::Result; -use clap::{Args, Parser}; +use clap::Parser; use move_cli::Move; -use move_command_line_common::testing::UPDATE_BASELINE; -use move_compiler::command_line::compiler::construct_pre_compiled_lib_from_compiler; -use move_compiler::diagnostics::report_diagnostics; -use move_compiler::shared::unique_map::UniqueMap; -use move_compiler::shared::{NamedAddressMaps, PackagePaths}; -use move_compiler::{ - cfgir, expansion, hlir, naming, parser, typing, Compiler, FullyCompiledProgram, -}; -use move_package::compilation::build_plan::BuildPlan; -use move_package::source_package::layout::SourcePackageLayout; -use once_cell::sync::Lazy; use std::fmt::Display; use std::num::NonZeroUsize; -use std::path::PathBuf; use std::str::FromStr; -use std::sync::Mutex; +#[cfg(feature = "integration-test")] +use { + move_command_line_common::testing::UPDATE_BASELINE, + move_compiler::command_line::compiler::construct_pre_compiled_lib_from_compiler, + move_compiler::diagnostics::report_diagnostics, + move_compiler::shared::unique_map::UniqueMap, + move_compiler::shared::{NamedAddressMaps, PackagePaths}, + move_compiler::{ + cfgir, expansion, hlir, naming, parser, typing, Compiler, FullyCompiledProgram, + }, + move_package::compilation::build_plan::BuildPlan, + move_package::source_package::layout::SourcePackageLayout, + once_cell::sync::Lazy, + std::path::PathBuf, + std::sync::Mutex, +}; pub mod compatibility_check_cmd; pub mod deployment; @@ -30,10 +33,12 @@ pub mod release; // use `integration-tests` rather than `tests`, for avoid conflict with `mpm package test` pub const INTEGRATION_TESTS_DIR: &str = "integration-tests"; -#[derive(Debug, Args)] +#[derive(Debug, Parser)] pub struct TestOpts { /// The FILTER string is tested against the name of all tests, and only those tests whose names /// contain the filter are run. + #[arg(skip)] + #[allow(dead_code)] filter: Option, #[clap(long = "exact")] @@ -57,11 +62,12 @@ pub struct TestOpts { /// pretty = Print verbose output; /// terse = Display one character per test; /// (json is unsupported, exists for compatibility with the default test harness) - #[clap(possible_values = Format::variants(), default_value_t, ignore_case = true)] + #[arg(value_parser = clap::builder::PossibleValuesParser::new(Format::variants()), default_value_t, ignore_case = true + )] format: Format, } -#[derive(Debug, Eq, PartialEq, Default)] +#[derive(Clone, Debug, Eq, PartialEq, Default)] enum Format { #[default] Pretty, @@ -98,9 +104,9 @@ impl FromStr for Format { } } -#[derive(Args, Debug)] +#[derive(Parser, Debug)] pub struct IntegrationTestCommand { - #[clap(flatten)] + #[command(flatten)] test_opts: TestOpts, #[clap(long = "ub")] /// update test baseline. @@ -120,8 +126,15 @@ pub struct IntegrationTestCommand { current_as_stdlib: bool, } +#[cfg(not(feature = "integration-test"))] +pub fn run_integration_test(_move_arg: Move, _cmd: IntegrationTestCommand) -> Result<()> { + eprintln!("Please enable the feature `integration-test` to run integration tests."); + Ok(()) +} +#[cfg(feature = "integration-test")] static G_PRE_COMPILED_LIB: Lazy)>>> = Lazy::new(|| Mutex::new(None)); +#[cfg(feature = "integration-test")] pub fn run_integration_test(move_arg: Move, cmd: IntegrationTestCommand) -> Result<()> { if cmd.task_help { return starcoin_transactional_test_harness::print_help(cmd.task_name); diff --git a/vm/move-package-manager/src/main.rs b/vm/move-package-manager/src/main.rs index fa44932244..088c736776 100644 --- a/vm/move-package-manager/src/main.rs +++ b/vm/move-package-manager/src/main.rs @@ -4,7 +4,7 @@ use anyhow::Result; use clap::Parser; // use move_cli::package::cli::handle_package_commands; -use move_cli::{experimental, sandbox, Move, DEFAULT_STORAGE_DIR}; +use move_cli::Move; use move_core_types::errmap::ErrorMapping; use move_package_manager::compatibility_check_cmd::{ handle_compatibility_check, CompatibilityCheckCommand, @@ -17,7 +17,6 @@ use move_vm_test_utils::gas_schedule::CostTable; use starcoin_config::genesis_config::G_LATEST_GAS_PARAMS; use starcoin_vm_runtime::natives::starcoin_natives; use starcoin_vm_types::on_chain_config::G_LATEST_INSTRUCTION_TABLE; -use std::path::PathBuf; #[derive(Parser)] #[clap(author, version, about, long_about = None)] @@ -41,26 +40,7 @@ pub enum Commands { /// Release the package. #[clap(name = "release")] Release(Release), - /// Execute a sandbox command. - #[clap(name = "sandbox")] - Sandbox { - /// Directory storing Move resources, events, and module bytecodes produced by module publishing - /// and script execution. - #[clap(long, default_value = DEFAULT_STORAGE_DIR, parse(from_os_str))] - storage_dir: PathBuf, - #[clap(subcommand)] - cmd: sandbox::cli::SandboxCommand, - }, - /// (Experimental) Run static analyses on Move source or bytecode. - #[clap(name = "experimental")] - Experimental { - /// Directory storing Move resources, events, and module bytecodes produced by module publishing - /// and script execution. - #[clap(long, default_value = DEFAULT_STORAGE_DIR, parse(from_os_str))] - storage_dir: PathBuf, - #[clap(subcommand)] - cmd: experimental::cli::ExperimentalCommand, - }, + /// TODO(simon) add subcommand to run static analyses on Move source or bytecode. /// Run integration tests in tests dir. #[clap(name = "integration-test", alias = "spectest")] IntegrationTest(IntegrationTestCommand), @@ -75,27 +55,19 @@ pub enum Commands { } fn main() -> Result<()> { - let error_descriptions: ErrorMapping = + let _error_descriptions: ErrorMapping = bcs_ext::from_bytes(stdlib::ERROR_DESCRIPTIONS).expect("Decode err map failed"); let args: CliOptions = CliOptions::parse(); let move_args = &args.move_args; let gas_params = G_LATEST_GAS_PARAMS.clone(); let natives = starcoin_natives(gas_params.natives); - let cost_table = CostTable { + let _cost_table = CostTable { instruction_table: G_LATEST_INSTRUCTION_TABLE.clone(), }; match args.cmd { Commands::IntegrationTest(cmd) => run_integration_test(args.move_args, cmd), Commands::Package { cmd } => handle_package_commands(natives, args.move_args, cmd), - Commands::Sandbox { storage_dir, cmd } => cmd.handle_command( - natives, - &cost_table, - &error_descriptions, - move_args, - &storage_dir, - ), - Commands::Experimental { storage_dir, cmd } => cmd.handle_command(move_args, &storage_dir), Commands::Release(release) => handle_release(move_args, release), Commands::CompatibilityCheck(cmd) => handle_compatibility_check(move_args, cmd), Commands::Deploy(cmd) => handle_deployment(move_args, cmd), diff --git a/vm/move-package-manager/src/package.rs b/vm/move-package-manager/src/package.rs index fbc48b7387..cd0e2bee26 100644 --- a/vm/move-package-manager/src/package.rs +++ b/vm/move-package-manager/src/package.rs @@ -1,7 +1,7 @@ use clap::Parser; use move_cli::base::{ - build::Build, coverage::Coverage, disassemble::Disassemble, errmap::Errmap, info::Info, - new::New, prove::Prove, test::Test, + build::Build, coverage::Coverage, disassemble::Disassemble, errmap::Errmap, new::New, + prove::Prove, test::Test, }; use move_cli::Move; use move_vm_runtime::native_functions::NativeFunctionTable; @@ -22,9 +22,6 @@ pub enum PackageCommand { /// Build the package at `path`. If no path is provided defaults to current directory. #[clap(name = "build")] Build(Build), - /// Print address information. - #[clap(name = "info")] - Info(Info), /// Generate error map for the package and its dependencies at `path` for use by the Move /// explanation tool. #[clap(name = "errmap")] @@ -45,7 +42,7 @@ pub enum PackageCommand { Disassemble(Disassemble), } pub fn handle_package_commands( - natives: NativeFunctionTable, + _natives: NativeFunctionTable, move_args: Move, cmd: PackageCommand, ) -> anyhow::Result<()> { @@ -58,16 +55,19 @@ pub fn handle_package_commands( "", ), PackageCommand::Build(c) => c.execute(move_args.package_path, move_args.build_config), - PackageCommand::Info(c) => c.execute(move_args.package_path, move_args.build_config), PackageCommand::Errmap(c) => c.execute(move_args.package_path, move_args.build_config), PackageCommand::Prove(c) => c.execute(move_args.package_path, move_args.build_config), PackageCommand::Coverage(c) => c.execute(move_args.package_path, move_args.build_config), - PackageCommand::Test(c) => c.execute( - move_args.package_path, - move_args.build_config, - natives, - None, - ), + PackageCommand::Test(_c) => { + //TODO(simon): fix this + //c.execute( + // move_args.package_path, + // move_args.build_config, + // natives, + // None, + //) + anyhow::bail!("The 'test' command is not available in this build.") + } PackageCommand::Disassemble(c) => c.execute(move_args.package_path, move_args.build_config), } } diff --git a/vm/move-package-manager/src/release.rs b/vm/move-package-manager/src/release.rs index 683d5724b3..bcb0737fe6 100644 --- a/vm/move-package-manager/src/release.rs +++ b/vm/move-package-manager/src/release.rs @@ -2,16 +2,16 @@ // SPDX-License-Identifier: Apache-2.0 use crate::extended_checks; -use clap::Parser; +use clap::{value_parser, Parser}; use codespan_reporting::diagnostic::Severity; use codespan_reporting::term::termcolor::{ColorChoice, StandardStream}; use move_binary_format::file_format_common::VERSION_4; use move_binary_format::CompiledModule; -use move_cli::sandbox::utils::PackageContext; use move_cli::Move; use move_compiler::compiled_unit::{CompiledUnit, NamedCompiledModule}; use move_core_types::language_storage::TypeTag; use move_core_types::transaction_argument::{convert_txn_args, TransactionArgument}; +use move_model::metadata::{CompilerVersion, LanguageVersion}; use move_package::ModelConfig; use starcoin_crypto::hash::PlainCryptoHash; use starcoin_move_compiler::bytecode_transpose::ModuleBytecodeDowngrader; @@ -25,12 +25,14 @@ pub const DEFAULT_RELEASE_DIR: &str = "release"; #[derive(Parser)] pub struct Release { - #[clap(name = "move-version", long = "move-version", default_value="6", possible_values=&["5", "6"])] + #[arg(name = "move-version", long = "move-version", default_value="6", value_parser = clap::builder::PossibleValuesParser::new(["5", "6"]) + )] /// specify the move lang version for the release. /// currently, only v6 are supported. language_version: u8, - #[clap(name="release-dir", long, parse(from_os_str), default_value=DEFAULT_RELEASE_DIR)] + #[arg(name="release-dir", long, value_parser = value_parser!(std::ffi::OsString), default_value=DEFAULT_RELEASE_DIR + )] /// dir to store released blob release_dir: PathBuf, @@ -38,16 +40,20 @@ pub struct Release { /// init script function to execute, example: 0x123::MyScripts::init_script init_script: Option, - #[clap( - short = 't', - long = "type_tag", - name = "type-tag", - parse(try_from_str = parse_type_tag) + #[arg( + short = 't', + long = "type_tag", + name = "type-tag", + value_parser = parse_type_tag )] /// type tags for the init script function type_tags: Option>, - #[clap(long = "arg", name = "transaction-args", parse(try_from_str = parse_transaction_argument))] + #[arg( + long = "arg", + name = "transaction-args", + value_parser = parse_transaction_argument + )] /// args for the init script function args: Option>, } @@ -67,13 +73,11 @@ pub fn handle_release( Some(_) => move_args.package_path.clone(), None => Some(std::env::current_dir()?), }; - let pkg_ctx = PackageContext::new(&package_path, &move_args.build_config)?; - let pkg = pkg_ctx.package(); - let resolved_graph = move_args + + let (compiled_package, pkg_info) = move_args .build_config .clone() - .resolution_graph_for_package(package_path.as_ref().unwrap(), &mut std::io::stdout()) - .unwrap(); + .compile_package_with_pkg_info(package_path.as_ref().unwrap(), &mut std::io::stdout())?; let model = move_args .build_config @@ -83,6 +87,8 @@ pub fn handle_release( ModelConfig { all_files_as_targets: false, target_filter: None, + compiler_version: CompilerVersion::V1, + language_version: LanguageVersion::V1, }, ) .unwrap(); @@ -95,10 +101,10 @@ pub fn handle_release( } } - let pkg_version = resolved_graph.root_package.package.version; - let pkg_name = pkg.compiled_package_info.package_name.as_str(); + let pkg_version = pkg_info.version; + let pkg_name = pkg_info.name.as_str(); println!("Packaging Modules:"); - for m in pkg.root_compiled_units.as_slice() { + for m in compiled_package.root_compiled_units.as_slice() { let m = module(&m.unit)?; println!("\t {}", m.self_id()); let code = if language_version as u32 == VERSION_4 { From 65050e02e8a2a27a2c9854f64054f06d0891b5c7 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 29 Aug 2024 14:30:04 +0800 Subject: [PATCH 26/28] fix stdlib --- .../src/compatibility_check_cmd.rs | 2 +- .../error_descriptions.errmap | Bin 9030 -> 8502 bytes .../compiled/latest/stdlib/007_Vector.mv | Bin 1100 -> 1084 bytes vm/stdlib/compiled/latest/stdlib/009_ACL.mv | Bin 470 -> 500 bytes vm/stdlib/compiled/latest/stdlib/011_Math.mv | Bin 688 -> 746 bytes .../compiled/latest/stdlib/017_Option.mv | Bin 1051 -> 1136 bytes .../compiled/latest/stdlib/020_VMConfig.mv | Bin 3631 -> 3667 bytes .../latest/stdlib/035_Authenticator.mv | Bin 801 -> 873 bytes .../compiled/latest/stdlib/036_Account.mv | Bin 5235 -> 5260 bytes vm/stdlib/compiled/latest/stdlib/038_Block.mv | Bin 1369 -> 1381 bytes .../compiled/latest/stdlib/040_BlockReward.mv | Bin 1514 -> 1593 bytes .../compiled/latest/stdlib/041_Collection.mv | Bin 814 -> 842 bytes .../compiled/latest/stdlib/042_Collection2.mv | Bin 1860 -> 1924 bytes .../compiled/latest/stdlib/043_Compare.mv | Bin 526 -> 588 bytes .../compiled/latest/stdlib/048_EVMAddress.mv | Bin 367 -> 442 bytes .../compiled/latest/stdlib/055_Oracle.mv | Bin 1893 -> 1982 bytes vm/stdlib/compiled/latest/stdlib/059_NFT.mv | Bin 4046 -> 4000 bytes .../compiled/latest/stdlib/061_MerkleProof.mv | Bin 322 -> 369 bytes .../latest/stdlib/062_MerkleNFTDistributor.mv | Bin 1259 -> 1338 bytes .../latest/stdlib/065_StdlibUpgradeScripts.mv | Bin 2418 -> 2461 bytes .../compiled/latest/stdlib/066_Genesis.mv | Bin 3617 -> 3619 bytes .../compiled/latest/stdlib/071_NFTGallery.mv | Bin 1819 -> 1895 bytes .../stdlib/074_PriceOracleAggregator.mv | Bin 498 -> 570 bytes .../latest/stdlib/079_TransactionManager.mv | Bin 1488 -> 1499 bytes .../latest/stdlib/080_TransferScripts.mv | Bin 719 -> 777 bytes vm/stdlib/compiled/latest/stdlib/083_U256.mv | Bin 1411 -> 1510 bytes vm/stdlib/src/main.rs | 51 +++++++++--------- 27 files changed, 26 insertions(+), 27 deletions(-) diff --git a/vm/move-package-manager/src/compatibility_check_cmd.rs b/vm/move-package-manager/src/compatibility_check_cmd.rs index 6ea1e23dd5..2242180f03 100644 --- a/vm/move-package-manager/src/compatibility_check_cmd.rs +++ b/vm/move-package-manager/src/compatibility_check_cmd.rs @@ -156,7 +156,7 @@ fn handle_pre_version_compatibility_check( ); std::process::exit(1); } else { - eprintln!("All previous modules is full compatible with current modules!", ); + eprintln!("All previous modules is full compatible with current modules!"); } Ok(()) diff --git a/vm/stdlib/compiled/latest/error_descriptions/error_descriptions.errmap b/vm/stdlib/compiled/latest/error_descriptions/error_descriptions.errmap index c9783afd06b7ccbce06414196b97dfbca4e7537a..20e1f30ec04e5bcd4f153641cd5f72386bbbccc2 100644 GIT binary patch delta 568 zcmX}lze@sP9LI6*)Nf~2jE2^V2b``o z8jAy)A}VSsaEQo=+WHR~f~erW_qe_IJn!du?v3Uw=SpyidNQ3plInmuH+L8wxoG5| z>>_PdB?fy6KD#7;tO4D~g1bW5a%U)`o;>BA$8=~-c@G)r!Fw&pIkZw;dS_nc-f5Bd zWr4S2tLb}Y9g|~Tro7`d@Z)n|d;M)ib4 z^dX7^wFJ>35kiAtL(tIB7if=`9PEG2@^F6VdHx&@oV)pYs@pVb>Rf_!ZmYUG%_K;- zC;I{_31S1(OieKbYN4o9 zx1~X47Phy<$^Q=|C(2uu>`p;wA6SyhnYpF*u3ZJ0d`c8TZ8W9SK<(60R>SSlzbZHq zYx|3m!scmA4d%>4%$Tv+C3_hosal{3TwD(9HvdrFk~on z8MP}!mPiNloCFSnV+ zFW%V0)(Ou9G HrDI>eQ$biz diff --git a/vm/stdlib/compiled/latest/stdlib/007_Vector.mv b/vm/stdlib/compiled/latest/stdlib/007_Vector.mv index 6deae25d480ce720cc5ddcd8965f04d366c475b5..2caec61d0b8b115406fb1326d3b7a19ab8e72c35 100644 GIT binary patch delta 406 zcmYjMF-`+P479!Ly^Yr=LN3ao5P?L5(je+B(^Jt?Ml^^%LP9)%26Qi=qJ}C34H5+f z6)&KtdAR?8YF^HCX7CpQascx^(Y5S^L*xOHX@V-h@xLBRvlh@Ft~E<`M>>@9ZC8-Id(7l`+oot-!H-kbOE8Agx8AMpSX5XjJ#z4q=7XUR8yV0bbe|7KX{=Idc} z6AO8HJ;z?DYM9vMcGEEf(?qKSDq8*FvVTuwDz%!^Uj6)1{}yQ#0niAHi8`?iNue=7 z1H}{trYcBlk?NimVMzssQW*#8>%0v#Vb8cx6S>VAzW!&L{EtwK>T_GTt;WVRi`9kM z9Za+zot%$G4c67UoixbGw0bt%m#tLs%2FlC)UsWeow}2>zTGZFY)iztV*!jhJPmFZ cO9|9Pf?o8IlwrTr<#eXRASiUC0*6ZQ2Vx8-6#xJL diff --git a/vm/stdlib/compiled/latest/stdlib/009_ACL.mv b/vm/stdlib/compiled/latest/stdlib/009_ACL.mv index 89c46c5234346fa17c1fddb58f7f4fff2d058370..e596988f97653d0074b31d3fa0c28a5bf8ef51fd 100644 GIT binary patch delta 190 zcmWO0Jqp4=5C!0w+0ABmX7i(HCs=ABu{52ewzjYmwGl)R)GJsUgfv#RRvy7qcnMn% z;5Hu*9uM9}{nYr;`-%YoK`>;r;!4jrnpbgy2YaF1G}PfI8ULayChxkK^aT;fpbvVN z25pvywYAn+wo;#l9J2!l7_9Gmc8BwEyIij}yPL%Ym3Z6WXj)PmNFxAhfgCy%g`9L5 bGDy)=Ayg`_G)I{L#@LDn5-L%pMhb`j)%F+3 delta 159 zcmW-ZD-Oay6h+^CGo4Q7O+S$0@E}N0KwS|K*1!f(>;PRsP)!Y%unAUzN25qs028h{ z$;r82^;Feu{1!t*0y1p0atqyb7=w5sL5Zpv9P%G4 C5r5+Dwf-#)Kq6Fhrl%S&=Gp2pz46dKSyx~D6Yq)O2MG=pN2CHa zx-2?UR4_LsSdM?Yef`Kc5{ps954iOP)^x$M603f@zp@&3t&_yA^eT2E%oju^IMZ`VZJ$9@_u_ delta 190 zcmWm6F%CgN5C-7+cV>6-6ljRNifCy#0F6rJ0P+$Ef{@@Tbt;YQ31}ta04||(1{}g} zCiyb+&tyLOp%0h%8yO<9AjPV#8#UW+WzvE0?AJ=yamFu4(J304ElKpC`vIW8fWvuIR~6+7I=i#zef z;mPUi!O5v!~Brm8&-=FUP1D3R;#4Nj-y`3>%*B0#C=10#cfnTjGMS7D%J z1Cq_ENxo8X#Y589}RkyVu&>dwH`et5*)ZgQlHgsutj04nm7FGvvs;h)x|ri4n> z^zDEC*W4c@?8f(ee$QkwvC98VllV4OIpb9B0qI8=Rmp2oYqA)A@vV0B#JPz&({%~l E0M8{mVgLXD delta 488 zcmYk3y-Gwe5QXO_H<``k?(W@P1;xTf?JV^w2(r31zJc#xAqa{fB8b*<3kxfsNd!fF z01?E(R&cWZrkHSYK9V_;H@TM8o0%8&08k=$@}AS4JC4N#9)(l7M|t3`f965_;Gk!Y z(z(0i@-a~RDO|4YP7m4z0{Kp^6VgXe=}IM0dYA9p^DXeP1(*xv;%#q1J_`Bh+ini= zzB!;B8cK6ZbNvk=LTjk6undVK*VrgeoeU+B60v!q$ev%V>6NyS1NkXMRR*`(BJNb&lB`?UOxMmt g+r(fZ!lDH#il{ctuT0jAP0KQoa_+!}WfKti1VVBw5dZ)H diff --git a/vm/stdlib/compiled/latest/stdlib/020_VMConfig.mv b/vm/stdlib/compiled/latest/stdlib/020_VMConfig.mv index ecd23444b44fcce501f634fdcd6eb5b6fb093665..f8ac0e7fbfa9511758cd45ae6f175fd3e565e2aa 100644 GIT binary patch literal 3667 zcmds3y^q{P6n`^gk3VL7x4U<_y^n-^G=M}Eh3E>9f)0TwpaDgQ0?X^2-LvAgSN^zg z6e!Byk%p2MK~GPI_zx&3=n#JZZ@l*2;oFgj#7Pk&c|7xb-*4Wt=i8fq2o3-q0iXH< zcKE*aCAX)aINy_>EcZ`);6La0b>c-P-Uq~{#eCTUdRul z63Jy1WmV}ko3ax4{xm*S(>hhbJSxMufnC3zN>E%$a7RmquJ z?`5W*hARza73j^`LTf|sj^=4TiPCVP7I|?VE>#gu&MSq~vbt-aJuQ-!<6x0wVO2y~ z8Ld3fMrw4f+)txouKq!b>nfkk#*M=`C2`|YXYpteeU&WgMVQr#33`#w8gip-Pn%g5 zNvs+NJ0p82vH`xO;mb~yn5Pgm=)lTxCym*`3}*9ihQ8;;?o`d9I<3Mej`KRJLM^p@ zIlCz6w`szq)OxyvJ4qR$?uz4ks?I!ooknS@&i5ib<)RAbDpMt*(dytw%X*R~Qzu02iY`}(W#CF&&yTSI@nC&w{=>a=rlrrC^!l$ka zjFKal>b`K_8gk3lJ=P3~-NO-XHv$`l!xt0XJRlje4qQp>(a@1Z5Nqs8Y99=77Sy^e z7{}&m#=d0SYS-NB7N0k2usPQYwR)IV~Y4UomV})+pYy${{Ji9rr{z{ z|8cx&TM+$xn(UhJS1tc-Xd=>r?;w_2}c{ z6?_H%xs~tp2L}GmT%Z5Cr_(r?fC5>H6Ujavi+87+!*?boqfef0PVlbj3M&WOwx-!N9 literal 3631 zcmds3&5qne5bhuUjk~=&GrO6Y%_bypNsu@p66FBWqD3GMNC*%@TrAH_&#Wbny>ih;cxD{^11h70!oxH!inP(;=<*@Md0!QhsDMSNJ(gJ z!f^?apg|7-rFYEju93eH62k5YLj4eg0on0n$U??11`PuWa~ja7FA2EIDFqp&o@AaJ zkl^djj*EPiuKnYaB+WlvdhIkiE=u*`a#<>^m6o3*8gN}Dd8PekqALNQ#u|imxXy}s zlEoXfDa!NsRF(1kyiy?5)tiXyX_;D$gH4*pRhi^EX(KRBY6woxvZP$Af5{egRjgLi zCSbUwizcMbOs-xH&D;g=zxqoJ?TJHSk>nUk*wGPcc|9 ziRo##8rT5_^L4y}*o$(1sa8pyRdKRd6m?$3X4URxc41*?X@Xa2>~w_tsgA*R<-v2Q z&Ia%}NwQ3xPZHSPvWnL#R~pcy-SP2hJ{ zzr`nf$|++re!v;y11P_c`2pdK-iG=%RsPP%b6nFe&5+Os9>8`Yh;%&i?cB5iksMTq zfu!zup)AtLkHR zZW_PoIN!F-+^?To2tGydUo8=RI}xIf@pjYs-n4xzuaB+cK0jDI82%Q*=PrWpAUL)! zhlu`H2tG&f$M!eT&o?)RLKuDgQ43$e|3vWjEkS)dKVIio5XNC+_)FURdtp_6gn0b` z!Kaqael$NL`WR~%%dZui@OQtB|pqFMBf(MmFnD{ z%DT3u!LRiT-O~7V%#mSER`ky?opM4?1Lfdr+Y2nm*5beZM? zaQ9ryGeV_gL8{2pCSB7_ke^CG+A_NL-s(l{ScJ|Rd;CJdhnp&Pr z2|w7UpZtsRy)1|Cb~*JN0%hlbE3d8GPg&o(@(9?F0kcK~{G#r7n+aJ+q$gg2c*;^O zZ(a{kf(I~x$e<$Xs6kQW6nU_Lj8-M6qRWKk{qOg3HklqRj_Z@@xAED@;b=TRx;&pu z7j|-fvAC9l*?c~`@)wt1k4FdN&!?*^y!})lQNST=a?eI*8}}yQhd|rh*w&HKNDj97 zl^rte~KS4HoMiYq8L3k2by((fPf$*)--nPzI6xN{vJOtnNiL^RLP4; z{$ml>e z1agQ@oF+4W#0Rr-)Tc691=ANrR6r0k(Zr8G zz{Kbrj0a*o5xpt#V7z$Mf54l@v+-a&7!wb^TN4u}na#}eyz^w<-|Uazen;(D=BqLY zAq_y%G(F1Be`NeMKPw)HPgH)BFA}lGDaY7OJ)-8DJr~thnp#iO+HQCiG}<3t);_~& zYpFj2gk8#H2*2zAF|Gs^Abi=Wf?=$LfZi&4)>SwNgsx!)TaWhF`VAmrgE68ua{!!O zM-^@`O3d+Ly+8-@N6Qo5ggx0i*)v(n1=V06n6jt5>2h~)qFfG61~i!8c}o+(4Kq&k zdzNzm7aU{^q+)=}o!`uo(pX+tUEEyKF*R+7g_X6+Jrn-7O+qXk=!MwS~wDFQO? zjulMe4qFtz<0esHQZE+nRn!w<#w6iBoJ}~J^`KK=Ei|j|IT)h|%uv*3ewfn_ zofHh{=gv6f^>@dIR&BUVt%FHLoVec!7PaBO3n<|zTEBpva057?*WDR7rr){gRM@7N z;!1?=v>O=$8yZ!_J+6Pb#nMbcQ3UyS>^5Twl{8}|H^YlI3kxll6s5Q&mE={$+*v*6 zwPk~_LmW|Ypgr}l+MOuO1UH2c;?i_a=_g)u$E-VNLY6m+RwY4N$VK!;5vFvApXK{; z_gB|nyd;e2pI+|nSV2M9sf?}{26qM(Oi_M2UlkjXmcS}S zRitJ4Epc1gDA3;e^*|s~kjXGd`>;=72+*WuY&deN=!IRhAJ7;Pjdd(ryDGIVia#Ne z`gb}@t94-{Vd8mzh*$r3V>lQSMG-;tVxrzW zc`(dHV?1~=9tnvbLOy|Bh-Z%`o{TzMIf#?YWS`%Eo|)(Q&%PM`9yH%&zDWxqlmL{* z>3OoUN9YH7h5e>qF#pWoCSyPPTH@Ov1SbK}yKW6EYpnr*$UURsb)%8{=F8rgv;eV9LXdor2cTrjPnI0<^6&SAPE9{u`n&M$HF55g&8vk%{;2Fxs}ck z&Y8jilf226*dczHwW$P2B?$%2|1akL5etA204{=A>-v-1?#ttH6hO>DuJA`7$s`I3 zx}uI2!(NHpxM4PS;85X`xe|8^*Q+XkQ+iu1!&&`RrH5v!f4f6S5>pWii+BtW26B2{ zB6UuC-Z5Cx(_TiEvNmUyoHtz2=pkmBR{~lX1Y~-K?pnQI-JJZ`_J=p)OWT zFqowdQ`}W^CNlML!ADhwmZDSCB>_1)#EOyww~e*zM1%!*k)NZ-O?1EotqE2e;C_it zvYCiVwV>Ue{K`T_LKsM^R;E|k^#i3MaE~h$YQ!63d9? z=wtSTI|ks1ZX;lPmB4$$oPODpN(^K3PXcKTbWQo#Q)>?6+To2^TOF0H=7!(fUZ9KPt( zyy+c#Yxbg7Gv)Z+HiV5pz@R{bfgl73r79w04RBMTL2$x>NN5lX6B6I5N>)=XE%TOn z0MN&l5KS8*1ik2$mt@Y%IzdA#BrdBtpiv!-P;pTlrAeHmlgA$03QT6hz#N^PT%3=e zyLf;`pPr2_uF5ezZ5Ld#RM!oja|%O3GXKcDrC*SVRKaziK+GtYYx+(HV}yc<+vsGek1ETuQO5| fjLTAWbEd$5B^JA0N~&7Es|^``t3Il-r`LY~z;7#f delta 384 zcmYLFy-EW?5T2i%z02-iE_Ws|niwUON>W$|f{MYyLa@*mvC~HI4a9KRDz<_)`Vc;W zU}34CzJ#*@bzz3#o9}1XclYYfZ+qX~0)R&d6xuvEFvqE!9wyKD!s)d%?1OB%FBykB z`@z|zYbzOnfWd%(O#u?ER6S}Ic-EjraLNF$BnZlbEVjB)VJ_MlF|SC}W*$}%q#GT3 zy5R-M&{Ch&eX#(vW=Rly@Oc)peDbt5`8;~u#XYPp=zg>08AnZNaoZbA3CaE;9Y<4; ziA>2&nd25S$?w>yPWY-j_L@6=A>L~AWXOt|gThsP(=DKc5s)5$Q1499ebejzt2}IA qi6hO8l*Z6U;h7m=sBX-#Bue5pVYw5vTJ`G9tmrb4b>wPWmVW?V#wCpa diff --git a/vm/stdlib/compiled/latest/stdlib/040_BlockReward.mv b/vm/stdlib/compiled/latest/stdlib/040_BlockReward.mv index f2b272971c95f54f03e0c167c1b19ab91bce5520..533de2359e99cadbee5359e8418a3d24c7ac3322 100644 GIT binary patch delta 547 zcmXYt&uddb5XX1+=i8m#_wwFLn^S>kYR14ERTA ziZAdQ)K7ZOlQ*g&&((GFRdwytEWYqw0x&}ya-8vwwHP$u>k0cj^E{a4D76 z9J$pg&veD3WfKe3-1EmR7$Uu`t3O#74g`~;*`_Ka^ zhNIKzS@=wMTJm@}-k%;+4#y7%$A|a&gUSAEG#pRO-pOQg@~A(Wg+KJM(WkQq2mQUl z-J@{Ep68w*@leohN~2GpNm$`4DW!R`No`?@3h^x5=IxH@82j(hi&*DdC_EK+Op%eu z;XkkW@RDy>)4@DraYE!SeB!q7Yqd>XiK!Q9=|e86t1rMf yEWHu0AQl=IaLiDlMpqDzVJ@z9t84rn80IYkQe@s0U=xg1F!9klP!dmJl#;*m)ktLk delta 487 zcmYjNJ!@4#5S_ChcjxZx-cQj8G0BUG&lf)sjc^;mpoL(O+DaZMArK=7iXc{kq!1zO zFA%}PLJO-0mi_<>OABlL32EFsES%yDbLKEJXJ+BITzj|pM+zbm(1Kc6)SHjZdz`d0 zyn_3x4h(-Qn&L-s)xUO=@Yx;d`0;Rad(WKF1qxm&0i%}TNw0_yk3z2PDum>0tU$b0 zH!$ToGWv6E34>9WC1%_M1ORPF+$8 zASgG>r?=YU_yzMAnd}2%2dLI)xipQ61{>mI>}7+k0;KbUmSF2Sbfb`pzF#a^mGRek2CwqJe&AEh6heT$rs sHyEkKNhz_TfzvO0Wzw#gPw;vu1)@X`zC&Qiw+P=h*`A_oP%A}$0dtW#qW}N^ diff --git a/vm/stdlib/compiled/latest/stdlib/041_Collection.mv b/vm/stdlib/compiled/latest/stdlib/041_Collection.mv index 306c01fc8c236d304380ad8666cf6810adb50368..14cb6885c15c02e39d50fe39f2f4d45ea04ee280 100644 GIT binary patch delta 380 zcmX9)J5EC}5ZqbsvmJk4p5F_fB0{3d4HAtT8DQKt>&~g!s%I$Ytl5|3BWw1Fx_8t14?7J*J_iOP{qz^tJfiL|C_ z*o=dTv>_HKERjkISn=#we3LbUL&=MXB~@W{rfkP$x=_PF8B_*|6I#?p@_FPls+zpI jrjI-xRqWY~ z6hXle@Z!Q_&zpJv{O(`;>Us7po`@Py;?$YhmA&oU18%|=zlfh^;Lst<6vN z4b7MH?T_26FDoV@#HEQK?pg;jePY5?Z?U7v?oPZ)du5Q~D5u;;j^n)fSQZ$h5g`ae z56!QKxW?USWPkwICaPqu3xP_UCpxADDuj-}tia9+t*A1ap)o>hVhb&cP?3ZsPY-N# zjQ{~9&jkxQi>x5}Iwk diff --git a/vm/stdlib/compiled/latest/stdlib/042_Collection2.mv b/vm/stdlib/compiled/latest/stdlib/042_Collection2.mv index ab314639e15c5fc1a7e499593dba7915fa0d0cbf..18a0ceb49462ba1dd03873cf1c5d36824700f1e1 100644 GIT binary patch delta 671 zcmZuuJ#Q2-5cP~dcGvdp-fV8O_pz6|B$wRrkw{4BVxkLlbaa$ZrbMEkp-O{9iO~K6 zN`xp-3PeE_XlVEgAW=a{LCg3;Ni%+)XTLYk{**r}PF^*?oDo8FKv=Y;Y<`1!fj9L9 z{)FVM`XbXmN!L72SN0+uyKkxTKhn>-^E%J-_xa0{H)qP$8U*YWg~0s*%iw%SAe0|v zTo+Jr=L$7kuSQl~+lsZQfIHV4uBzNB7~28MsNOW*t+r#oKVpmryNnHOQcZozXjqM^ zhQ_p2r8KFgRBzKxwM(;VkM>CsP)SI0TC{iJY=OpRLK*-_96%<3w_qGbn5-8};)(V< zj6FoS-e=-m;Ri7K^wHxdPtQNf23A3$;+W7svJjL~I&-X{X)w325?)(~dBxpbgNSz32$Q(GlCGN0cR0Zt>^=^w`G3Cz~51lyXw#OWUQ*{S} z@sLCCs?cSkSlL17I1D-4ac#fq!yBPMAH^mkD|p1(2_6hBUJm9papLt3H(mh36|dQvLjiz=VYj``yXaAGVMDvxnE-$`5n%E%t^pYk4~~RScuj< ha*tpC(ixUfwvQX}$}G2>+QUCfNETT z_N%;<*<0H;@9o0x|lZLhJRkRs>WL(u_8`7jUv?0Kj^Ho&d+M z@tBr&^;se^&x@tXfO2&lEpOz-A%1|1T(z)xK&U_fG}{iMR7&?eH_|lNa{M)IB$M z;BoibOy`dX%T#Nf7an2=GMC&q_c9jP|Bq58rTb~7M}4f4KIN%*__86$fL^jSI7rqU ieT{#>${FUVE#Z|^vQaoeYXSaRB9B{zq!-;&JNpCJ7&+kp diff --git a/vm/stdlib/compiled/latest/stdlib/043_Compare.mv b/vm/stdlib/compiled/latest/stdlib/043_Compare.mv index 4c8e6794b2595ccbcf03e942248ddd1306d364da..f089e1a6d5b3b694352c3a514ec522db6b55adbb 100644 GIT binary patch delta 250 zcmYk0u}(r!42Jvn^z`0yyn}tMJ|c3 ziFY8VSJNyHwha%~m=es+F|!SxiK delta 157 zcmX@Z(#I0LQ06r^8v_FaJ0k-VGm{9bm>j!_K1Z?uTQMh3%_k;+F*|ViCw-WMS(rDgm}GMlP-?jBGr!7#B10 z?q!;&FU`Wj$iO@?Pj=#R%ZdM7L><|9Sh!f&8B|!L96;uP!DN3%8CEAY5f`?}1&pG$ x2nilGxEgi_E*5cR7ClxiUN%Dp7dBR9UN&w93kGgB9!73P9wu%kAqFO(X#i}h6leed diff --git a/vm/stdlib/compiled/latest/stdlib/055_Oracle.mv b/vm/stdlib/compiled/latest/stdlib/055_Oracle.mv index 348476de27b193dfe2f939586be8033b3bb5aa6e..7e71bf7c213cd864d4ffb5b54a276fb8c2e8935b 100644 GIT binary patch delta 622 zcmXX@Id4-z5T0-Ldb|7leBjve5$AA-0|W?1;wM0&K%xmHf)bI)A`%2g#t5ZK0~O_y zXsBptTu`K^qC`T7KR}a;j+Tafc1GIyzPUcFW=@l@#p6%yKVB120aW42E%D$B~R3%Pfd0kZcT{gUX?*AxywI22srf9Yb|9EzKL7M-At5 zXvWB)#f2c$PKv=V%u=0FUeTA>kl2ut_;S$VD?6b>Tn(|=MEJ)wu0u!H8xj=VKr{H8 zt#D}RIG<;(ZU%%Ravio%Jd3IkO++7q)mX-xrtcb2y z^%1<{pay2FMMf}so?yeWxGUCe*cM+9vy^6BJozgt*hvv{%CXGPJhd1Oj=Qp{Vn+_C zsHQR&1?feqe13?T)nX_UqqVx1 z-|3P%-E@k(%u2Ft4Dn9(;w#WClB;>vYsmlD~TgG+bnE?E9ni(e0p3-`%bCb|dmV hir8nab2i9iFVY?jOD_1XHQq)=zfHIG5R%^N?thbVEOfeT6?dXzc>H@gOF2xL)5a=L72ybnc z2;z350rE~Z!a&_c3qf~yezUi@zSJEKMm;;QlbkA)sAHI15r-;J4<0^xd^kCdD#X6~ z8-FM*&EA|KMnJ+)L$T#f^-ElH&v-Q!wBS9Zo*_w#9z}Y?o$$RgikTP~eHARNq$Mw* zhwdP`{Od|=#b8$^ r(^W@ip4NRc+Hu#ia%Nv__y85xK}GIKb~*2JKk1l`?xx+Wn|I(JwZBV! delta 615 zcma)2J#Q015S`hN``Fn%-{pj{6UR1@(48WaICf(1g#=O{Aw(IFLV{@EPe4OWLA5mq zBpM0|>?Z}a6R@%`q>MtyCPjiZGBTZ`di)NLM;>+VU;^J z?Iqi@)E7d=1Q?=s;7P0|S?$u~6&m+0u@@4yR)-A2qRwIl?`;I_Ied| delta 143 zcmXAiI|{-;6ae3MciHy{2E-z0KqF`+*xQ&&+u*TmwzaeM7#_k)Sa|~@PBl}_ho02l z=Wh!D5D^lmMpmTjT^vs7h7*63wsDL}ff6E+mdmDG59M_pj_8^tYbRUv3|V^gP;m}5 h@2Qi8v4v?3wK!`xs_{Qe0*<>MGZ&2pSh3-f;0wQ?4<-Nr diff --git a/vm/stdlib/compiled/latest/stdlib/062_MerkleNFTDistributor.mv b/vm/stdlib/compiled/latest/stdlib/062_MerkleNFTDistributor.mv index 21a56f784bd6b882257ffa1021b6e2245f948e56..4f145afceaf05a0cf00dc0be4a3335892628ec2c 100644 GIT binary patch delta 625 zcmXYt&uUXa6vodv^Y7j{lS%GvOw#;m(;(J>cH^Q04Y+aP6SxgY4Hz^{NK-Yd3T|~# zF6vI`Yp4(4JBTjb6bgb1mrl^Lm^s6IAK&kstMrpSx@=#u27nSmg(?kkdo3@qsXpU3 zH1EY%N`9z{zE(T-jZXQUCig*q7p32+^nWgn9-W)2jZVB#MwF&ju?VIfAD|oc3~1YX z5KTmot%d;Qn_3uYOuHR*s=Q;#7}cpKXv|J`FIrvVQ0sh>{6h3pwKSGL`V|SNZNb|G|}-Ee|FSl zwpgu`)qFT!uO_E@v{+0|9_#UZxtzZ!UQ_Q*x;Q(1G8~VNpVpR>+5GurIGdiVhR37D zXgqy3U9Igu@o;vwD!xz%d0Zu+3*e|k3<1OD#vlSQQQQQAPZ$Qk=;(kcNTTT2DqhO2 zJ_Hs)6(42eoK@AzHp@K{8&B;XL&h$(GyrE~36~sj5@c7FRgEn&qJhlqd*Raz9D8H! zAu?yB%*&qY|Cdmdu#G92BNa0^s5bitm2pGQAmo8>{CdKhjKTw7TDZ} oI1`hKlHG`WlY)!5`?q?YF_KA79%8)mf@O?Xn|O-+06FIH7Z`L>F#rGn delta 498 zcmXZXJ!_Of5C`y?+1Y2GXJ?ogS;Gi2>A$N zAz=%#v{10Huo1Dc7W@Ey0h?fNr+ebRm?`F8{N{_jsP^A%UPu7|H9|v8UtOQ_b8Pf$ z{EFrWy`%CEH^obR#eUG0eA47T>tCvVTd{wCzW?Yxu6aZ@ot8x?x}657SJ$BWh`{Sz z1={xuW!UJ}h9zV4pi`nTb?Hn)L5I5M2d!}a`(b*3gS5aHDyUEuuEJ6=DK?zG;m@XA zo=y(Vmb0hDbg`J79H#HI)9XH&9iKj%O^)X$%gN*EVtOz?nlI1NhKl2mUjlSvx7w>X zs!1S1#Jn+5L?Oybgt`}kl-gE7c>-f{0ur8IwU#@W&;vpr1|vC>^D23o&7QXcB1pX`rSwX&nxG2W(YRfmd`6-)tFv%&z% zYc578ua8e4u#FK-g~lt^hn-6I6ORfI=UUb!qHdR#(~GW zs76@=DNBTB#UAbUKl9ubjF9x?Cswi|(g_%Jc>-?AfEO%m3sVXmd4+tMylOx(xgY)t znc{AS(F+0!1Csqof)m4+u^r6%C;=}GxEc$qt|U}HZ}Ftf0;TJ&!6XW(W+}L)SC$rQ z(8now?Gq$pijGl)v_lqCP;Zgeog~^;yN)-Or~L0Y0N(mBE3LA^_G80+>NadNrcG=_ aZlsBf%5$GtMi*#bAY`uduh2!t$7 zfDqyn{2yF7@C68o10R5>j*t)~)zho0S2f*T^P%#qJpR=BVIly~2vatl@`tBP{A6AE ziho1(U3}K@%d`}|PoLShZ^nBk<+6e-69|Z?Kx+ksf&#WDAorHC*_D7&0s`a*fkQp; z1|w*4f>wZb2$uuv&@AXmf|a1_g|HuBl|T$Ig6fbfh}Ys6*!oFgP?SeBS8Y&tGR72e zvsePQ<*1@3G?#BvrL@D5Ddi@_E4u_~U}jQ5C`{ujMCWRB0dt;`?gG!jPL@a$7`vF$ z^nJQr@lvCSBEQ^16!I!3p54E;+@S+pPgX$9NFonakBT??s|eZ60oCNK9?5IBF^2rk za1F)M&N?NEcSiwrRp;e)HP2S-13hf7>5cZdy{Wg_+j>Xu*5_Yvf1a`DOvByhagkjHRm7W?m^4*1iUcdmRVR;o{+X<@oZ$5(krgV zA{0|S?7B^T0e-D)@T+VYhD{Stsrys?p0R@m5ZZ{5Vo ff;O=cxrvN4D$jkvGV0epC1h^&ueUgVqBs8l5L-av diff --git a/vm/stdlib/compiled/latest/stdlib/066_Genesis.mv b/vm/stdlib/compiled/latest/stdlib/066_Genesis.mv index 62fd8b2d17552368c058343f6090b34995f7402e..72e117fb06885a37786587548cb103d6fb825491 100644 GIT binary patch delta 122 zcmV-=0EPdd9HSgAp&aWA1^@s62>}2=0zfnabf*FYn*$yNxdXBT2kQpw2?*8@5C-ND zfdLHX5sa}ekpT!EO93wd01r%)!2urvHW9Pn0j>cA0SXBKvyKDZ1O^3VZE$pXvug;5 c0|qz_3;;L|vk44U0RcCYUkzRXHP=*1;`g3>oKc=do0*wqvMiI%W(lS`#?7;s@3L&J<>+7*a}Wd?2L?P02=-=f So=`?cv&o6PaX|6_Z!!RVI~+0q diff --git a/vm/stdlib/compiled/latest/stdlib/071_NFTGallery.mv b/vm/stdlib/compiled/latest/stdlib/071_NFTGallery.mv index ad57a311145efd41a5a066152864148b963f0721..96fadf2a9d221dd3ebcb367209aa01e2ab4b24c8 100644 GIT binary patch delta 893 zcmYjPOKTKC5bmme%uH8LXJ=<0$?j;fc}IiC*pURmg9LAaMY+ z1R-90`~mUc!N1_eyGK#PAD~BTCWe2q97s9{m})@&VLO zIH%v@7mS|i_cHz%*UabG+OP2zo;=d&3vc`@|77*`p&5rZ2s1G%LC9W5Vx(}g z05E3i1b|S}FwSvi!gHMMbve#;Ib-H0`EC}bXP9=Xx<&N@ZRt(qRaRfFIVC?V{7sSX8f5BCY zhLaLZBHmrWhp?dgJNtwC=2m}qbFgJL`-AoE8@9i*Jy`GG?e7kf{X4g});F$Qzd8Ia zdy(1LJ2=?8H?(S}=werZ5cS-OEDd5p)vO4>9|k!*QYQ|BLIeQ-5hpbApLNw^FlCcPvWpP&+qKY6L-J8wO+VjG_oK{;n#xv}c>R8BDj z>mt3zBSnggTP^C+*M*iy;q@g`O&O zn<0e3BX6f_t|CtVA>#i;J;E=5*@DXPu@svFHmAL28?98c4Q`aP>O2cHLX&-WNJ40p zb}>3$NXf3448gd}%}rJnA+)(Fl;a&fFog@b)2SrQl}3ke%}g(X5Zbry&r&waBzYohFIalfB`~`u`zabG@eQ#R>T$)JB@{` zjj=NP2_{zl1y)wtm{?j^$e-Zs;jc;dW%s+^nfc7@eh+WL=G(y!a!RQJRKT#RH%`EO zgH`(iKVtU9yw>??)^bmB@1NzD=zZ?^L;lJZp9&W~7cVzY9_YC#jhVsu831R7FaTv1 zW`mrI=cnZyO^f0#%*nl8nqslSvewF69Ej2=Lnri9smo^B>c!aBrM6{9cVny5iBb2; z4o9Z49jB^?@cbB8s>^ui-7!9ew!1$*+}pqF#|Qg|d*jFBM~BrlGpz2JgV8ijD^RLk zdKHVL=1t411aje4lvyWH{WP;j+Yu2I0A%t~leh_zL0xP8u2&n1t+#8yCP1=`q*#+7 zO}GxpkzG>+yAh2N|GArWJ_jEpEBE;owH=u~*V~=M(3F%z$~dz(q+D+1jtWQ(_O+LM z@{D#w?1X$0{Y26cnF5JGooqYM7FB(5Yi`OPPxOWzwlDOh`sPGED&N Z#7L=!{O36}Q!jN9Q2q<0N+_{ZzW|(rO!@!- diff --git a/vm/stdlib/compiled/latest/stdlib/074_PriceOracleAggregator.mv b/vm/stdlib/compiled/latest/stdlib/074_PriceOracleAggregator.mv index 51dc465f667614bf8da44f54374215c28130ffb9..2dbc3133f6378b925c4c1ec19d6bf1c74c1f2465 100644 GIT binary patch delta 403 zcmXYtze)o^5XNVAW_NG@+~!V28;gLbAlP3cwiY&`eTd0nf|tvYOORCdc4B8I`UI9f ziSJP*qLv>?*|L>OJDr>w*TW402qWIf})*sz7Dc~r9bf-lPAj5D_Q?RRb&tZ z5HLtklxWld8W6QIED_l1Bx+|Yg7hXbsaFUT(h%)VCw`zZ&JZw{62w*>6^R=~D4jx$ z2?}K;A!{OH>j2qu3{hDVNsKM#xDEhU-U>mzQ3ivc8*-{H*K`d$V#d zoef)APMY~LtEUgW$+)V5p=ciSJ_r;ECYV}qM!(T>*s%LSg51$cH)pjU

c7J9JU>;-TQ5g6O>Y252;ZxnF83Y9c z3>pksK>-jz6wb6k(M~LocOJ!rkRxDjEvOiiVnRk`oK9Vch@DT+C48VU156HX5FlY^ zbtMC$l*xSlcsL2obX<*^>15edZLeP5j~27}eAXsVS8aY*-;5{MfBwrWo-axY>|qGO zTwuC=6G6IHey LpwNRTg;DSWgf1nZ diff --git a/vm/stdlib/compiled/latest/stdlib/079_TransactionManager.mv b/vm/stdlib/compiled/latest/stdlib/079_TransactionManager.mv index facda148d09920b1ecbe8d5bdce39c5c245070dd..1a770f5255b44bc1b928ac288fb8247c5ab255a1 100644 GIT binary patch delta 571 zcmYLFJ#Q015S`iE-PxVFJA2PQe?SPn#9#;{v{xXxN((XtqDLtaC`v=+It@}pkvc7H z3TplV1qBi{RrmvR%pF2BPrGm4%zHCm<%b+z?c9h5fQYa(OU{nY(SAmDU+@#sjrrih zZyNgZ@I3z>zFi#dZy^x?AS|89qYx2laTVft9oI{#EPWCbcet~v_(t{J?&IL z5+t_9WLTl4}r9LQQ8ZGR^ z&BOzl&*Cet@+2G(6?ZXi8GZlAdgWvVdn2T*D->i_@% delta 557 zcmYL_v2GMW42JF5neohccW-^Sx0gT&x0k>LDS>tiq@zhobi4=8a6&vm#1qiaMj{0j z?~p!%iVj3x0nef+Q&_V7+5hjkVbZO&5Kk5elNY(43aO-( z%e(XI0bk;$_hxhb)%?NTn|#&y1P!W3TGt>>JX3GUB|^!S0ZOhR8HqJ8rXrc-lIJK% ztDX%z4#K5o>^X74mRU-ZkH(61gw2D}*mepM?*hjGO_8}a3+p;%?}@=Mks6t0RgRpb zHu|rC@06WL(_8N%fyny5;o8Y)IH63JwsZTWg|%k0r9E^#+3}bMh2f%LFLQh9UXjma p$ZF>)Nwcz>QKPf3-Gg0MlyIfw$`FydM->h%(*)k??zN1X*9UAXv z9wssAo3Yz7$*v=F*$)$U5G8V!^%;#$0+nawW57Ngx;jR~+7ZLjfryc^kgpqwRdRG$ NNve_lMa$iW;15nbBU1nX delta 296 zcmZXOJx)VG421o+evZ9ah!i@ALIYQLqDu-IXd`hOBs$9QM0$icLe4<}hd|;ItZSN2 z{+SugvwoJxxAWgn05Ak)y_Ne~9`1&Bd?NecQ$6yke(^VU1p)yBqJU7ca8e~Xl%#2L zHguwU1q{!z&O2$|8eluggPF}tOf78xdgDETwH86%|6EOH_%a>w;2W>SOQTIpJ6d0E zeOc9YF|6gnb;L$4+gMg^5E?wvbfDFaiF*U&0T+HPIra+aQOE9qz@U++0v@6uloa^D;B<#rMp!tu}2^qZGQ4Y6=frC~o{2A#Fn%OkYZx=(2_W04Wa_ z?sVZw5Z&s+pWsh$=SGSP!L|3LjZmQ%hB^0~Gk4C+iT~l-Z|gt30RWFsp^D=09jZ_0 z^cU;}Z|EykzN^^$Qcd?#oA8x>ZK4nUw0-=L>tTezE7fZVxEfpF#&wH8O)GFMy&>A| z1s1I(8r>0g(Jt9rx^7oazimFCz=;n7(aa1PX_*6A%s8W5i7cSVGj~zLvnOtQG#-y$ zboQqca}K$?yJLpEyg%8C2l?~vaIo9yj{DR7UOushgS%wRw!1seiUyr5 zWe}3X7@W>9WJjszG*ZdU;xlEK6u)UB$}qj~s0@n@e)KdW)0Ceo>#j1|2AC|bSD}(< z(m-GkfTJp0VY6Zj#8N9ha;wE5M(8P15thF{tN)tf55K=E=&A&57iX$=Br*RDSW{M4 zJzzjdW8FavhUTL$xfXT(l1oyZ2f%b|^YJ}jp1hzy=5H<2LisknKPTsV5~%Wqzq49K A?*IS* delta 433 zcmZ{gyGjE=6o$`bW_D+0XWeB3i6+s6AORZ*M6gq%Vk-!Og@u;~5!0F?Ock`T*2;IV z@+GWnM0^1YXG0Jo<7aHj4= z%RCE}yoiZ%Z)V)TsbeG2KuxWISC=vbTq}Dk^yTq)uVCgVOo$1C8qoL?{1SX|edW)o z?r&*W+t&#h%)rQjPS{Yza>a?f>YKcc&Y$vz8|cc65d-Z=|DRy|6rPb#h;0%MWQP~wC|5)aTzrK7PN(y nsRfKEuXhb(plG&wo~p{m92Kml3Dj0^chi().unwrap(); + version_number = *matches.get_one("version").unwrap(); } let pre_version = if version_number > 0 { - Some(if matches.is_present("pre-version") { - matches - .value_of("pre-version") - .unwrap() - .parse::() - .unwrap() + Some(if matches.contains_id("pre-version") { + *matches.get_one("pre-version").unwrap() } else { version_number - 1 }) @@ -256,16 +250,17 @@ fn main() { None }; - let no_check_compatibility = matches.is_present("no-check-compatibility"); + let no_check_compatibility = matches.contains_id("no-check-compatibility"); let has_init_script = - matches.is_present("init-script-module") && matches.is_present("init-script-function"); + matches.contains_id("init-script-module") && matches.contains_id("init-script-function"); let init_script = if has_init_script { - let module_name = matches.value_of("init-script-module").unwrap(); - let function_name = matches.value_of("init-script-function").unwrap(); - let type_args = if matches.is_present("init-script-type-args") { + let module_name: &str = *matches.get_one("init-script-module").unwrap(); + let function_name: &str = *matches.get_one("init-script-function").unwrap(); + let type_args = if matches.contains_id("init-script-type-args") { let type_args_str: Vec<&str> = matches - .values_of("init-script-type-args") + .get_many("init-script-type-args") .unwrap() + .copied() .collect(); let type_args: Vec = type_args_str .iter() @@ -275,8 +270,12 @@ fn main() { } else { vec![] }; - let args = if matches.is_present("init-script-args") { - let args_strings: Vec<&str> = matches.values_of("init-script-args").unwrap().collect(); + let args = if matches.contains_id("init-script-args") { + let args_strings: Vec<&str> = matches + .get_many("init-script-args") + .unwrap() + .copied() + .collect(); let args: Vec = args_strings .iter() .map(|s| parse_transaction_argument(s).unwrap()) From 3b8abaf68dfda5a81c2241da4e42522951ec6b1f Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 29 Aug 2024 17:14:13 +0800 Subject: [PATCH 27/28] update move dependencies --- Cargo.lock | 2182 +++++++++-------- Cargo.toml | 56 +- vm/compiler/src/lib.rs | 1 + .../error_descriptions.errmap | Bin 8502 -> 11105 bytes .../compiled/latest/stdlib/007_Vector.mv | Bin 1084 -> 0 bytes vm/stdlib/compiled/latest/stdlib/007_bcs.mv | Bin 0 -> 104 bytes .../latest/stdlib/008_fixed_point32.mv | Bin 0 -> 888 bytes vm/stdlib/compiled/latest/stdlib/009_hash.mv | Bin 0 -> 90 bytes .../compiled/latest/stdlib/010_signer.mv | Bin 0 -> 114 bytes .../compiled/latest/stdlib/011_vector.mv | Bin 0 -> 1756 bytes .../compiled/latest/stdlib/012_Vector.mv | Bin 0 -> 1080 bytes .../stdlib/{008_Errors.mv => 013_Errors.mv} | Bin .../latest/stdlib/{009_ACL.mv => 014_ACL.mv} | Bin .../stdlib/{010_Signer.mv => 015_Signer.mv} | Bin .../stdlib/{011_Math.mv => 016_Math.mv} | Bin .../latest/stdlib/{012_BCS.mv => 017_BCS.mv} | Bin .../stdlib/{013_Event.mv => 018_Event.mv} | Bin .../stdlib/{014_Token.mv => 019_Token.mv} | Bin ..._CoreAddresses.mv => 020_CoreAddresses.mv} | Bin .../{016_Timestamp.mv => 021_Timestamp.mv} | Bin .../stdlib/{017_Option.mv => 022_Option.mv} | Bin .../stdlib/{018_Config.mv => 023_Config.mv} | Bin .../stdlib/{019_ChainId.mv => 024_ChainId.mv} | Bin .../{020_VMConfig.mv => 025_VMConfig.mv} | Bin .../stdlib/{021_Version.mv => 026_Version.mv} | Bin ...TxnManager.mv => 027_PackageTxnManager.mv} | Bin .../{023_Treasury.mv => 028_Treasury.mv} | Bin .../latest/stdlib/{024_Dao.mv => 029_Dao.mv} | Bin ...sal.mv => 030_UpgradeModuleDaoProposal.mv} | Bin ...fig.mv => 031_TransactionTimeoutConfig.mv} | Bin ...ion.mv => 032_TransactionPublishOption.mv} | Bin ...28_RewardConfig.mv => 033_RewardConfig.mv} | Bin ...inConfigDao.mv => 034_OnChainConfigDao.mv} | Bin ...osal.mv => 035_ModifyDaoConfigProposal.mv} | Bin ...sensusConfig.mv => 036_ConsensusConfig.mv} | Bin .../latest/stdlib/{032_STC.mv => 037_STC.mv} | Bin ...ransactionFee.mv => 038_TransactionFee.mv} | Bin .../stdlib/{034_Hash.mv => 039_Hash.mv} | Bin ..._Authenticator.mv => 040_Authenticator.mv} | Bin .../stdlib/{036_Account.mv => 041_Account.mv} | Bin ...ccountScripts.mv => 042_AccountScripts.mv} | Bin .../stdlib/{038_Block.mv => 043_Block.mv} | Bin ....mv => 044_TreasuryWithdrawDaoProposal.mv} | Bin ...{040_BlockReward.mv => 045_BlockReward.mv} | Bin .../{041_Collection.mv => 046_Collection.mv} | Bin ...{042_Collection2.mv => 047_Collection2.mv} | Bin .../stdlib/{043_Compare.mv => 048_Compare.mv} | Bin ...usStrategy.mv => 049_ConsensusStrategy.mv} | Bin ...aoVoteScripts.mv => 050_DaoVoteScripts.mv} | Bin .../{046_DummyToken.mv => 051_DummyToken.mv} | Bin ...kenScripts.mv => 052_DummyTokenScripts.mv} | Bin .../{048_EVMAddress.mv => 053_EVMAddress.mv} | Bin ...lexiDagConfig.mv => 054_FlexiDagConfig.mv} | Bin .../stdlib/{050_Epoch.mv => 055_Epoch.mv} | Bin ...51_FixedPoint32.mv => 056_FixedPoint32.mv} | Bin ...52_FrozenConfig.mv => 057_FrozenConfig.mv} | Bin ...trategy.mv => 058_FrozenConfigStrategy.mv} | Bin ...lity.mv => 059_GenesisSignerCapability.mv} | Bin .../stdlib/{055_Oracle.mv => 060_Oracle.mv} | Bin ...{056_PriceOracle.mv => 061_PriceOracle.mv} | Bin ...57_STCUSDOracle.mv => 062_STCUSDOracle.mv} | Bin .../stdlib/{058_Offer.mv => 063_Offer.mv} | Bin .../latest/stdlib/{059_NFT.mv => 064_NFT.mv} | Bin ...guageVersion.mv => 065_LanguageVersion.mv} | Bin ...{061_MerkleProof.mv => 066_MerkleProof.mv} | Bin ...ributor.mv => 067_MerkleNFTDistributor.mv} | Bin ..._IdentifierNFT.mv => 068_IdentifierNFT.mv} | Bin .../{064_GenesisNFT.mv => 069_GenesisNFT.mv} | Bin ...Scripts.mv => 070_StdlibUpgradeScripts.mv} | Bin .../stdlib/{066_Genesis.mv => 071_Genesis.mv} | Bin ...NFTScripts.mv => 072_GenesisNFTScripts.mv} | Bin ...Scripts.mv => 073_IdentifierNFTScripts.mv} | Bin ...tDaoProposal.mv => 074_MintDaoProposal.mv} | Bin ...Scripts.mv => 075_ModuleUpgradeScripts.mv} | Bin .../{071_NFTGallery.mv => 076_NFTGallery.mv} | Bin ...eryScripts.mv => 077_NFTGalleryScripts.mv} | Bin ...Scripts.mv => 078_OnChainConfigScripts.mv} | Bin ...egator.mv => 079_PriceOracleAggregator.mv} | Bin ...leScripts.mv => 080_PriceOracleScripts.mv} | Bin .../{076_Signature.mv => 081_Signature.mv} | Bin ...icKey.mv => 082_SharedEd25519PublicKey.mv} | Bin ...onTimeout.mv => 083_TransactionTimeout.mv} | Bin ...onManager.mv => 084_TransactionManager.mv} | Bin ...nsferScripts.mv => 085_TransferScripts.mv} | Bin ...asuryScripts.mv => 086_TreasuryScripts.mv} | Bin .../stdlib/{082_Arith.mv => 087_Arith.mv} | Bin .../stdlib/{083_U256.mv => 088_U256.mv} | Bin ...84_YieldFarming.mv => 089_YieldFarming.mv} | Bin ...ieldFarmingV2.mv => 090_YieldFarmingV2.mv} | Bin vm/stdlib/compiled/latest/stdlib/091_error.mv | Bin 0 -> 610 bytes vm/stdlib/compiled/latest/stdlib/092_acl.mv | Bin 0 -> 438 bytes .../compiled/latest/stdlib/093_bit_vector.mv | Bin 0 -> 807 bytes .../compiled/latest/stdlib/094_option.mv | Bin 0 -> 1178 bytes .../compiled/latest/stdlib/095_string.mv | Bin 0 -> 907 bytes 94 files changed, 1197 insertions(+), 1042 deletions(-) delete mode 100644 vm/stdlib/compiled/latest/stdlib/007_Vector.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/007_bcs.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/008_fixed_point32.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/009_hash.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/010_signer.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/011_vector.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/012_Vector.mv rename vm/stdlib/compiled/latest/stdlib/{008_Errors.mv => 013_Errors.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{009_ACL.mv => 014_ACL.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{010_Signer.mv => 015_Signer.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{011_Math.mv => 016_Math.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{012_BCS.mv => 017_BCS.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{013_Event.mv => 018_Event.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{014_Token.mv => 019_Token.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{015_CoreAddresses.mv => 020_CoreAddresses.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{016_Timestamp.mv => 021_Timestamp.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{017_Option.mv => 022_Option.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{018_Config.mv => 023_Config.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{019_ChainId.mv => 024_ChainId.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{020_VMConfig.mv => 025_VMConfig.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{021_Version.mv => 026_Version.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{022_PackageTxnManager.mv => 027_PackageTxnManager.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{023_Treasury.mv => 028_Treasury.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{024_Dao.mv => 029_Dao.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{025_UpgradeModuleDaoProposal.mv => 030_UpgradeModuleDaoProposal.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{026_TransactionTimeoutConfig.mv => 031_TransactionTimeoutConfig.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{027_TransactionPublishOption.mv => 032_TransactionPublishOption.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{028_RewardConfig.mv => 033_RewardConfig.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{029_OnChainConfigDao.mv => 034_OnChainConfigDao.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{030_ModifyDaoConfigProposal.mv => 035_ModifyDaoConfigProposal.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{031_ConsensusConfig.mv => 036_ConsensusConfig.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{032_STC.mv => 037_STC.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{033_TransactionFee.mv => 038_TransactionFee.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{034_Hash.mv => 039_Hash.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{035_Authenticator.mv => 040_Authenticator.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{036_Account.mv => 041_Account.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{037_AccountScripts.mv => 042_AccountScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{038_Block.mv => 043_Block.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{039_TreasuryWithdrawDaoProposal.mv => 044_TreasuryWithdrawDaoProposal.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{040_BlockReward.mv => 045_BlockReward.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{041_Collection.mv => 046_Collection.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{042_Collection2.mv => 047_Collection2.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{043_Compare.mv => 048_Compare.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{044_ConsensusStrategy.mv => 049_ConsensusStrategy.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{045_DaoVoteScripts.mv => 050_DaoVoteScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{046_DummyToken.mv => 051_DummyToken.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{047_DummyTokenScripts.mv => 052_DummyTokenScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{048_EVMAddress.mv => 053_EVMAddress.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{049_FlexiDagConfig.mv => 054_FlexiDagConfig.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{050_Epoch.mv => 055_Epoch.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{051_FixedPoint32.mv => 056_FixedPoint32.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{052_FrozenConfig.mv => 057_FrozenConfig.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{053_FrozenConfigStrategy.mv => 058_FrozenConfigStrategy.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{054_GenesisSignerCapability.mv => 059_GenesisSignerCapability.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{055_Oracle.mv => 060_Oracle.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{056_PriceOracle.mv => 061_PriceOracle.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{057_STCUSDOracle.mv => 062_STCUSDOracle.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{058_Offer.mv => 063_Offer.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{059_NFT.mv => 064_NFT.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{060_LanguageVersion.mv => 065_LanguageVersion.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{061_MerkleProof.mv => 066_MerkleProof.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{062_MerkleNFTDistributor.mv => 067_MerkleNFTDistributor.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{063_IdentifierNFT.mv => 068_IdentifierNFT.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{064_GenesisNFT.mv => 069_GenesisNFT.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{065_StdlibUpgradeScripts.mv => 070_StdlibUpgradeScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{066_Genesis.mv => 071_Genesis.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{067_GenesisNFTScripts.mv => 072_GenesisNFTScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{068_IdentifierNFTScripts.mv => 073_IdentifierNFTScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{069_MintDaoProposal.mv => 074_MintDaoProposal.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{070_ModuleUpgradeScripts.mv => 075_ModuleUpgradeScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{071_NFTGallery.mv => 076_NFTGallery.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{072_NFTGalleryScripts.mv => 077_NFTGalleryScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{073_OnChainConfigScripts.mv => 078_OnChainConfigScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{074_PriceOracleAggregator.mv => 079_PriceOracleAggregator.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{075_PriceOracleScripts.mv => 080_PriceOracleScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{076_Signature.mv => 081_Signature.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{077_SharedEd25519PublicKey.mv => 082_SharedEd25519PublicKey.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{078_TransactionTimeout.mv => 083_TransactionTimeout.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{079_TransactionManager.mv => 084_TransactionManager.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{080_TransferScripts.mv => 085_TransferScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{081_TreasuryScripts.mv => 086_TreasuryScripts.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{082_Arith.mv => 087_Arith.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{083_U256.mv => 088_U256.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{084_YieldFarming.mv => 089_YieldFarming.mv} (100%) rename vm/stdlib/compiled/latest/stdlib/{085_YieldFarmingV2.mv => 090_YieldFarmingV2.mv} (100%) create mode 100644 vm/stdlib/compiled/latest/stdlib/091_error.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/092_acl.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/093_bit_vector.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/094_option.mv create mode 100644 vm/stdlib/compiled/latest/stdlib/095_string.mv diff --git a/Cargo.lock b/Cargo.lock index 03f11ccbae..121b0aae45 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,6 +8,16 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +[[package]] +name = "abstract-domain-derive" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", +] + [[package]] name = "actix" version = "0.13.0" @@ -16,7 +26,7 @@ checksum = "f728064aca1c318585bf4bb04ffcfac9e75e508ab4e8b1bd9ba5dfe04e2cbed5" dependencies = [ "actix-rt", "actix_derive", - "bitflags", + "bitflags 1.3.2", "bytes 1.6.1", "crossbeam-channel", "futures-core", @@ -26,7 +36,7 @@ dependencies = [ "log 0.4.17", "once_cell", "parking_lot 0.12.1", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "smallvec 1.10.0", "tokio", "tokio-util 0.7.7", @@ -182,14 +192,15 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if 1.0.0", "getrandom 0.2.8", "once_cell", "version_check 0.9.4", + "zerocopy", ] [[package]] @@ -201,6 +212,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + [[package]] name = "airdrop" version = "2.0.1" @@ -208,7 +228,7 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "csv", "elasticsearch", "futures-retry", @@ -216,7 +236,7 @@ dependencies = [ "hex", "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rpassword", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-logger", @@ -226,6 +246,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -235,12 +267,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6" - [[package]] name = "ansi_term" version = "0.12.1" @@ -250,11 +276,60 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + [[package]] name = "anyhow" -version = "1.0.69" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "api-limiter" @@ -267,9 +342,9 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.2.3" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e90af4de65aa7b293ef2d09daff88501eb254f58edde2e1ac02c82d873eadad" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" dependencies = [ "derive_arbitrary", ] @@ -313,8 +388,8 @@ dependencies = [ "asn1-rs-derive 0.1.0", "asn1-rs-impl", "displaydoc", - "nom 7.1.3", - "num-traits 0.2.15", + "nom", + "num-traits", "rusticata-macros", "thiserror", "time 0.3.19", @@ -329,8 +404,8 @@ dependencies = [ "asn1-rs-derive 0.4.0", "asn1-rs-impl", "displaydoc", - "nom 7.1.3", - "num-traits 0.2.15", + "nom", + "num-traits", "rusticata-macros", "thiserror", "time 0.3.19", @@ -407,7 +482,7 @@ dependencies = [ "flate2", "futures-core", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "tokio", ] @@ -456,7 +531,7 @@ dependencies = [ "parking", "polling", "slab", - "socket2", + "socket2 0.4.7", "waker-fn", "windows-sys 0.42.0", ] @@ -492,7 +567,7 @@ dependencies = [ "log 0.4.17", "memchr", "once_cell", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "pin-utils", "slab", "wasm-bindgen-futures", @@ -525,7 +600,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", ] [[package]] @@ -538,7 +613,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", ] [[package]] @@ -649,13 +724,22 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +[[package]] +name = "bcs" +version = "0.1.4" +source = "git+https://github.com/aptos-labs/bcs.git?rev=d31fab9d81748e2594be5cd5cdf845786a30562d#d31fab9d81748e2594be5cd5cdf845786a30562d" +dependencies = [ + "serde", + "thiserror", +] + [[package]] name = "bcs" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bd3ffe8b19a604421a5d461d4a70346223e535903fbc3067138bddbebddcf77" dependencies = [ - "serde 1.0.205", + "serde", "thiserror", ] @@ -664,8 +748,8 @@ name = "bcs-ext" version = "2.0.1" dependencies = [ "anyhow", - "bcs", - "serde 1.0.205", + "bcs 0.1.5", + "serde", ] [[package]] @@ -687,7 +771,7 @@ dependencies = [ "anyhow", "criterion", "forkable-jellyfish-merkle", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "network-api", "parking_lot 0.12.1", @@ -742,7 +826,7 @@ version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "serde 1.0.205", + "serde", ] [[package]] @@ -751,12 +835,12 @@ version = "0.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "clap 2.34.0", "env_logger", - "lazy_static 1.4.0", + "lazy_static", "lazycell", "log 0.4.17", "peeking_take_while", @@ -774,10 +858,10 @@ version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", - "lazy_static 1.4.0", + "lazy_static", "lazycell", "peeking_take_while", "prettyplease 0.2.6", @@ -810,6 +894,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + [[package]] name = "bitmaps" version = "2.1.0" @@ -949,9 +1039,9 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ - "lazy_static 1.4.0", + "lazy_static", "memchr", - "regex-automata", + "regex-automata 0.1.10", ] [[package]] @@ -961,7 +1051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" dependencies = [ "memchr", - "serde 1.0.205", + "serde", ] [[package]] @@ -988,18 +1078,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" -[[package]] -name = "bytecode-interpreter-crypto" -version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" -dependencies = [ - "anyhow", - "curve25519-dalek-fiat", - "ed25519-dalek-fiat", - "sha2 0.9.9", - "sha3", -] - [[package]] name = "bytemuck" version = "1.13.1" @@ -1027,6 +1105,9 @@ name = "bytes" version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +dependencies = [ + "serde", +] [[package]] name = "bytesize" @@ -1083,7 +1164,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom 7.1.3", + "nom", ] [[package]] @@ -1132,7 +1213,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-integer", - "num-traits 0.2.15", + "num-traits", "time 0.1.43", "wasm-bindgen", "winapi 0.3.9", @@ -1207,9 +1288,9 @@ version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ - "ansi_term 0.12.1", + "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -1223,16 +1304,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", - "bitflags", - "clap_derive", - "clap_lex", - "indexmap", + "bitflags 1.3.2", + "clap_derive 3.2.18", + "clap_lex 0.2.4", + "indexmap 1.9.3", "once_cell", "strsim 0.10.0", "termcolor", "textwrap 0.16.0", ] +[[package]] +name = "clap" +version = "4.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +dependencies = [ + "clap_builder", + "clap_derive 4.5.13", +] + +[[package]] +name = "clap_builder" +version = "4.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.7.2", + "strsim 0.11.1", +] + [[package]] name = "clap_derive" version = "3.2.18" @@ -1246,6 +1349,18 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "clap_derive" +version = "4.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +dependencies = [ + "heck 0.5.0", + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 2.0.72", +] + [[package]] name = "clap_lex" version = "0.2.4" @@ -1255,6 +1370,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + [[package]] name = "cli-table" version = "0.3.2" @@ -1282,7 +1403,7 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -1303,7 +1424,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52899426b69706219a1aaee2e95868fd01a0bd8006bb163f069578a0af5b5bb2" dependencies = [ - "serde 1.0.205", + "serde", "unicode-segmentation", ] @@ -1314,7 +1435,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" dependencies = [ "codespan-reporting", - "serde 1.0.205", + "serde", ] [[package]] @@ -1323,11 +1444,17 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" dependencies = [ - "serde 1.0.205", + "serde", "termcolor", "unicode-width", ] +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + [[package]] name = "colored" version = "2.0.0" @@ -1335,20 +1462,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" dependencies = [ "atty", - "lazy_static 1.4.0", + "lazy_static", "winapi 0.3.9", ] -[[package]] -name = "combine" -version = "4.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" -dependencies = [ - "bytes 1.6.1", - "memchr", -] - [[package]] name = "concurrent-queue" version = "2.1.0" @@ -1358,30 +1475,14 @@ dependencies = [ "crossbeam-utils 0.8.14", ] -[[package]] -name = "config" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369" -dependencies = [ - "lazy_static 1.4.0", - "nom 5.1.2", - "rust-ini", - "serde 1.0.205", - "serde-hjson", - "serde_json", - "toml", - "yaml-rust", -] - [[package]] name = "console" version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" dependencies = [ - "encode_unicode", - "lazy_static 1.4.0", + "encode_unicode 0.3.6", + "lazy_static", "libc", "windows-sys 0.42.0", ] @@ -1408,7 +1509,7 @@ dependencies = [ "hex", "rlp", "rlp-derive", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-executor", @@ -1511,14 +1612,14 @@ dependencies = [ "clap 2.34.0", "criterion-plot", "csv", - "itertools", - "lazy_static 1.4.0", - "num-traits 0.2.15", + "itertools 0.10.5", + "lazy_static", + "num-traits", "oorandom", "plotters", "rayon", "regex", - "serde 1.0.205", + "serde", "serde_cbor", "serde_derive", "serde_json", @@ -1543,7 +1644,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -1612,7 +1713,7 @@ checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ "autocfg 1.1.0", "cfg-if 0.1.10", - "lazy_static 1.4.0", + "lazy_static", ] [[package]] @@ -1626,15 +1727,15 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.21.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486d44227f71a1ef39554c0dc47e44b9f4139927c75043312690c3f476d1d788" +checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" dependencies = [ - "bitflags", - "crossterm_winapi 0.8.0", + "bitflags 1.3.2", + "crossterm_winapi", "libc", - "mio 0.7.14", - "parking_lot 0.11.2", + "mio 0.8.6", + "parking_lot 0.12.1", "signal-hook", "signal-hook-mio", "winapi 0.3.9", @@ -1642,29 +1743,20 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.22.1" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85525306c4291d1b73ce93c8acf9c339f9b213aef6c1d85c3830cbf1c16325c" +checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" dependencies = [ - "bitflags", - "crossterm_winapi 0.9.0", + "bitflags 1.3.2", + "crossterm_winapi", "libc", - "mio 0.7.14", - "parking_lot 0.11.2", + "mio 0.8.6", + "parking_lot 0.12.1", "signal-hook", "signal-hook-mio", "winapi 0.3.9", ] -[[package]] -name = "crossterm_winapi" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6966607622438301997d3dac0d2f6e9a90c68bb6bc1785ea98456ab93c0507" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "crossterm_winapi" version = "0.9.0" @@ -1751,7 +1843,7 @@ dependencies = [ "csv-core", "itoa", "ryu", - "serde 1.0.205", + "serde", ] [[package]] @@ -2069,7 +2161,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" dependencies = [ "cfg-if 1.0.0", - "hashbrown", + "hashbrown 0.12.3", "lock_api 0.4.9", "once_cell", "parking_lot_core 0.9.7", @@ -2130,9 +2222,9 @@ dependencies = [ "anyhow", "atomic-counter", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "csv", - "futures 0.3.26", + "futures 0.3.30", "hex", "indicatif", "move-binary-format", @@ -2140,7 +2232,7 @@ dependencies = [ "num_cpus", "pprof", "rayon", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account", "starcoin-account-api", @@ -2195,9 +2287,9 @@ checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" dependencies = [ "asn1-rs 0.3.1", "displaydoc", - "nom 7.1.3", - "num-bigint", - "num-traits 0.2.15", + "nom", + "num-bigint 0.4.3", + "num-traits", "rusticata-macros", ] @@ -2209,9 +2301,9 @@ checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" dependencies = [ "asn1-rs 0.5.1", "displaydoc", - "nom 7.1.3", - "num-bigint", - "num-traits 0.2.15", + "nom", + "num-bigint 0.4.3", + "num-traits", "rusticata-macros", ] @@ -2228,13 +2320,13 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.2.3" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8beee4701e2e229e8098bbdecdca12449bc3e322f137d269182fa1291e20bd00" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 1.0.107", + "syn 2.0.72", ] [[package]] @@ -2325,7 +2417,7 @@ source = "git+https://github.com/starcoinorg/starcoin-crypto?rev=8d41c280a227594 dependencies = [ "aes-gcm 0.8.0", "anyhow", - "bcs", + "bcs 0.1.5", "bindgen 0.59.2", "bytes 1.6.1", "cc", @@ -2340,10 +2432,10 @@ dependencies = [ "once_cell", "openrpc-schema", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "serde-name 0.1.2", "serde_bytes", "sha2 0.9.9", @@ -2398,26 +2490,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "directories" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" -dependencies = [ - "libc", - "redox_users 0.3.5", - "winapi 0.3.9", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -2428,17 +2500,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users 0.4.3", - "winapi 0.3.9", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -2446,7 +2507,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users 0.4.3", + "redox_users", "winapi 0.3.9", ] @@ -2491,7 +2552,7 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "serde 1.0.205", + "serde", "signature", ] @@ -2504,7 +2565,7 @@ dependencies = [ "curve25519-dalek 3.2.0", "ed25519", "rand 0.7.3", - "serde 1.0.205", + "serde", "sha2 0.9.9", "zeroize", ] @@ -2518,7 +2579,7 @@ dependencies = [ "curve25519-dalek-fiat", "ed25519", "rand 0.8.5", - "serde 1.0.205", + "serde", "serde_bytes", "sha2 0.9.9", "zeroize", @@ -2539,11 +2600,11 @@ dependencies = [ "base64 0.11.0", "bytes 1.6.1", "dyn-clone", - "lazy_static 1.4.0", + "lazy_static", "percent-encoding 2.2.0", "reqwest", "rustc_version 0.2.3", - "serde 1.0.205", + "serde", "serde_json", "serde_with", "url 2.3.1", @@ -2578,6 +2639,12 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +[[package]] +name = "encode_unicode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + [[package]] name = "encoding_rs" version = "0.8.32" @@ -2618,6 +2685,12 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" version = "0.3.1" @@ -2697,9 +2770,9 @@ dependencies = [ [[package]] name = "ethnum" -version = "1.3.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0198b9d0078e0f30dedc7acbb21c974e838fc8fae3ee170128658a98cb2c1c04" +checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" [[package]] name = "event-listener" @@ -2709,13 +2782,13 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fail" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be3c61c59fdc91f5dbc3ea31ee8623122ce80057058be560654c5d410d181a6" +checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" dependencies = [ - "lazy_static 1.4.0", "log 0.4.17", - "rand 0.7.3", + "once_cell", + "rand 0.8.5", ] [[package]] @@ -2767,7 +2840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" dependencies = [ "cc", - "lazy_static 1.4.0", + "lazy_static", "libc", "winapi 0.3.9", ] @@ -2819,6 +2892,22 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "flexi_logger" +version = "0.27.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469e584c031833564840fb0cdbce99bdfe946fd45480a188545e73a76f45461c" +dependencies = [ + "chrono", + "glob", + "is-terminal", + "lazy_static", + "log 0.4.17", + "nu-ansi-term", + "regex", + "thiserror", +] + [[package]] name = "fnv" version = "1.0.7" @@ -2846,19 +2935,19 @@ version = "2.0.1" dependencies = [ "anyhow", "backtrace", - "bcs", + "bcs 0.1.5", "bcs-ext", "byteorder", "criterion", "hex", "mirai-annotations", "num-derive", - "num-traits 0.2.15", + "num-traits", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "serde_bytes", "starcoin-crypto", "starcoin-logger", @@ -2892,7 +2981,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" dependencies = [ - "bitflags", + "bitflags 1.3.2", "fuchsia-zircon-sys", ] @@ -2916,9 +3005,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -2931,9 +3020,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -2950,9 +3039,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-core-preview" @@ -2962,9 +3051,9 @@ checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a" [[package]] name = "futures-executor" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2974,9 +3063,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" @@ -2989,19 +3078,19 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "waker-fn", ] [[package]] name = "futures-macro" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 1.0.107", + "syn 2.0.72", ] [[package]] @@ -3010,8 +3099,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fde5a672a61f96552aa5ed9fd9c81c3fbdae4be9b1e205d6eaf17c83705adc0f" dependencies = [ - "futures 0.3.26", - "pin-project-lite 0.2.9", + "futures 0.3.30", + "pin-project-lite 0.2.14", "tokio", ] @@ -3028,15 +3117,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" @@ -3046,9 +3135,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures 0.1.31", "futures-channel", @@ -3058,7 +3147,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "pin-utils", "slab", ] @@ -3100,11 +3189,11 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "hex", "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "rpassword", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-rpc-api", @@ -3207,7 +3296,7 @@ version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" dependencies = [ - "aho-corasick", + "aho-corasick 0.7.20", "bstr 1.2.0", "fnv", "log 0.4.17", @@ -3230,7 +3319,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" dependencies = [ - "bitflags", + "bitflags 1.3.2", "ignore", "walkdir", ] @@ -3264,7 +3353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19775995ee20209163239355bc3ad2f33f83da35d9ef72dea26e5af753552c87" dependencies = [ "dashmap", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "no-std-compat", "nonzero_ext", @@ -3297,7 +3386,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.9.3", "slab", "tokio", "tokio-util 0.7.7", @@ -3319,6 +3408,16 @@ dependencies = [ "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", +] + [[package]] name = "heck" version = "0.3.3" @@ -3334,6 +3433,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -3354,9 +3459,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -3364,7 +3469,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" dependencies = [ - "serde 1.0.205", + "serde", ] [[package]] @@ -3466,7 +3571,7 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes 1.6.1", "http", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", ] [[package]] @@ -3528,8 +3633,8 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.9", - "socket2", + "pin-project-lite 0.2.14", + "socket2 0.4.7", "tokio", "tower-service", "tracing", @@ -3630,7 +3735,7 @@ dependencies = [ "async-io", "core-foundation", "fnv", - "futures 0.3.26", + "futures 0.3.30", "if-addrs", "ipnet", "log 0.4.17", @@ -3647,7 +3752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" dependencies = [ "globset", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "memchr", "regex", @@ -3704,7 +3809,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" dependencies = [ - "serde 1.0.205", + "serde", ] [[package]] @@ -3744,12 +3849,22 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", ] [[package]] @@ -3759,7 +3874,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" dependencies = [ "console", - "lazy_static 1.4.0", + "lazy_static", "number_prefix", "regex", ] @@ -3770,8 +3885,8 @@ version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fb7c1b80a1dfa604bb4a649a5c5aeef3d913f7c520cb42b40e534e8a61bcdfc" dependencies = [ - "ahash 0.8.3", - "indexmap", + "ahash 0.8.11", + "indexmap 1.9.3", "is-terminal", "itoa", "log 0.4.17", @@ -3818,7 +3933,7 @@ checksum = "6ab388864246d58a276e60e7569a833d9cc4cd75c66e5ca77c177dad38e59996" dependencies = [ "ahash 0.7.6", "dashmap", - "hashbrown", + "hashbrown 0.12.3", "once_cell", "parking_lot 0.12.1", ] @@ -3854,7 +3969,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" dependencies = [ - "socket2", + "socket2 0.4.7", "widestring", "winapi 0.3.9", "winreg", @@ -3872,12 +3987,18 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.9", "io-lifetimes", "rustix", "windows-sys 0.45.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.10.5" @@ -3887,6 +4008,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.5" @@ -3912,7 +4042,7 @@ dependencies = [ "jsonpath-plus", "once_cell", "regex", - "serde 1.0.205", + "serde", "serde_json", ] @@ -3934,7 +4064,7 @@ dependencies = [ "error-chain 0.11.0", "pest 1.0.6", "pest_derive 1.0.8", - "serde 1.0.205", + "serde", "serde_json", ] @@ -3956,7 +4086,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" dependencies = [ "derive_more", - "futures 0.3.26", + "futures 0.3.30", "hyper 0.14.24", "hyper-tls", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3964,7 +4094,7 @@ dependencies = [ "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.17", "parity-tokio-ipc", - "serde 1.0.205", + "serde", "serde_json", "tokio", "url 1.7.2", @@ -3977,11 +4107,11 @@ version = "18.0.0" source = "git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19#e895b6cc5897f3813a953a9a6bb4718b4856ab19" dependencies = [ "derive_more", - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "jsonrpc-pubsub 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "log 0.4.17", - "serde 1.0.205", + "serde", "serde_json", ] @@ -3991,11 +4121,11 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "futures-executor", "futures-util", "log 0.4.17", - "serde 1.0.205", + "serde", "serde_derive", "serde_json", ] @@ -4005,11 +4135,11 @@ name = "jsonrpc-core" version = "18.0.0" source = "git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19#e895b6cc5897f3813a953a9a6bb4718b4856ab19" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "futures-executor", "futures-util", "log 0.4.17", - "serde 1.0.205", + "serde", "serde_derive", "serde_json", ] @@ -4020,7 +4150,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-client-transports 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4029,7 +4159,7 @@ name = "jsonrpc-core-client" version = "18.0.0" source = "git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19#e895b6cc5897f3813a953a9a6bb4718b4856ab19" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-client-transports 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", ] @@ -4062,7 +4192,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "hyper 0.14.24", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4078,7 +4208,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "382bb0206323ca7cda3dcd7e245cea86d37d02457a02a975e3378fb149a48845" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.17", @@ -4093,13 +4223,13 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "parking_lot 0.11.2", "rand 0.7.3", - "serde 1.0.205", + "serde", ] [[package]] @@ -4107,13 +4237,13 @@ name = "jsonrpc-pubsub" version = "18.0.0" source = "git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19#e895b6cc5897f3813a953a9a6bb4718b4856ab19" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "parking_lot 0.11.2", "rand 0.7.3", - "serde 1.0.205", + "serde", "serde_json", ] @@ -4124,10 +4254,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "globset", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "tokio", "tokio-stream", @@ -4141,10 +4271,10 @@ version = "18.0.0" source = "git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19#e895b6cc5897f3813a953a9a6bb4718b4856ab19" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "globset", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "tokio", "tokio-stream", @@ -4183,7 +4313,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f892c7d766369475ab7b0669f417906302d7c0fb521285c0a0c92e52e7c8e946" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.17", @@ -4226,12 +4356,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" -[[package]] -name = "lazy_static" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" - [[package]] name = "lazy_static" version = "1.4.0" @@ -4244,24 +4368,11 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -[[package]] -name = "lexical-core" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" -dependencies = [ - "arrayvec 0.5.2", - "bitflags", - "cfg-if 1.0.0", - "ryu", - "static_assertions", -] - [[package]] name = "libc" -version = "0.2.139" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libloading" @@ -4292,7 +4403,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "getrandom 0.2.8", "instant", @@ -4329,7 +4440,7 @@ dependencies = [ "ed25519-dalek", "either", "fnv", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "instant", "libsecp256k1", @@ -4359,7 +4470,7 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "libp2p-core", "log 0.4.17", "parking_lot 0.12.1", @@ -4374,7 +4485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" dependencies = [ "asynchronous-codec 0.6.1", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "libp2p-core", "libp2p-swarm", @@ -4399,7 +4510,7 @@ dependencies = [ "bytes 1.6.1", "either", "fnv", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "instant", "libp2p-core", @@ -4423,14 +4534,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" dependencies = [ "data-encoding", - "futures 0.3.26", + "futures 0.3.30", "if-watch", "libp2p-core", "libp2p-swarm", "log 0.4.17", "rand 0.8.5", "smallvec 1.10.0", - "socket2", + "socket2 0.4.7", "tokio", "trust-dns-proto", "void", @@ -4458,7 +4569,7 @@ checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" dependencies = [ "asynchronous-codec 0.6.1", "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "libp2p-core", "log 0.4.17", "nohash-hasher", @@ -4476,7 +4587,7 @@ checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" dependencies = [ "bytes 1.6.1", "curve25519-dalek 3.2.0", - "futures 0.3.26", + "futures 0.3.30", "libp2p-core", "log 0.4.17", "once_cell", @@ -4497,7 +4608,7 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "instant", "libp2p-core", @@ -4514,7 +4625,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "if-watch", "libp2p-core", @@ -4536,7 +4647,7 @@ checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" dependencies = [ "async-trait", "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "instant", "libp2p-core", "libp2p-swarm", @@ -4554,7 +4665,7 @@ checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" dependencies = [ "either", "fnv", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "instant", "libp2p-core", @@ -4585,13 +4696,13 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "if-watch", "libc", "libp2p-core", "log 0.4.17", - "socket2", + "socket2 0.4.7", "tokio", ] @@ -4601,7 +4712,7 @@ version = "0.1.0-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "futures-rustls", "libp2p-core", "rcgen 0.10.0", @@ -4622,7 +4733,7 @@ dependencies = [ "async-trait", "asynchronous-codec 0.6.1", "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "if-watch", @@ -4635,7 +4746,7 @@ dependencies = [ "prost-codec", "rand 0.8.5", "rcgen 0.9.3", - "serde 1.0.205", + "serde", "stun", "thiserror", "tinytemplate", @@ -4651,7 +4762,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" dependencies = [ "either", - "futures 0.3.26", + "futures 0.3.30", "futures-rustls", "libp2p-core", "log 0.4.17", @@ -4669,7 +4780,7 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "libp2p-core", "log 0.4.17", "parking_lot 0.12.1", @@ -4706,7 +4817,7 @@ dependencies = [ "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", "rand 0.8.5", - "serde 1.0.205", + "serde", "sha2 0.9.9", "typenum", ] @@ -4827,7 +4938,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if 1.0.0", - "serde 1.0.205", + "serde", "value-bag", ] @@ -4854,7 +4965,7 @@ dependencies = [ "log 0.4.17", "log-mdc", "parking_lot 0.12.1", - "serde 1.0.205", + "serde", "serde-value", "serde_json", "serde_yaml", @@ -4870,7 +4981,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -4879,7 +4990,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -4945,9 +5056,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -4982,11 +5093,11 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "csv", "hex", "merkletree", - "serde 1.0.205", + "serde", "serde_json", "sha3", "starcoin-crypto", @@ -5005,7 +5116,7 @@ dependencies = [ "memmap2", "positioned-io", "rayon", - "serde 1.0.205", + "serde", "tempfile", "typenum", ] @@ -5053,7 +5164,7 @@ dependencies = [ "kernel32-sys", "libc", "log 0.4.17", - "miow 0.2.2", + "miow", "net2", "slab", "winapi 0.2.8", @@ -5061,27 +5172,26 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.14" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log 0.4.17", - "miow 0.3.7", - "ntapi 0.3.7", - "winapi 0.3.9", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.45.0", ] [[package]] name = "mio" -version = "0.8.6" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi 0.3.9", "libc", - "log 0.4.17", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] @@ -5108,15 +5218,6 @@ dependencies = [ "ws2_32-sys", ] -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "mirai-annotations" version = "1.12.0" @@ -5126,94 +5227,105 @@ checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" [[package]] name = "move-abigen" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "heck 0.3.3", + "bcs 0.1.4", + "heck 0.4.1", "log 0.4.17", "move-binary-format", "move-bytecode-verifier", "move-command-line-common", "move-core-types", "move-model", - "serde 1.0.205", + "serde", ] [[package]] name = "move-binary-format" version = "0.0.3" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "arbitrary", + "backtrace", + "indexmap 1.9.3", + "move-bytecode-spec", "move-core-types", - "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "ref-cast", - "serde 1.0.205", + "serde", "variant_count", ] [[package]] name = "move-borrow-graph" version = "0.0.1" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" [[package]] name = "move-bytecode-source-map" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", + "bcs 0.1.4", "move-binary-format", "move-command-line-common", "move-core-types", "move-ir-types", "move-symbol-pool", - "serde 1.0.205", + "serde", +] + +[[package]] +name = "move-bytecode-spec" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +dependencies = [ + "once_cell", + "quote 1.0.36", + "syn 1.0.107", ] [[package]] name = "move-bytecode-utils" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "move-binary-format", "move-core-types", "petgraph 0.5.1", - "serde-reflection 0.3.6", + "serde-reflection 0.3.5", ] [[package]] name = "move-bytecode-verifier" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ - "anyhow", "fail", "move-binary-format", "move-borrow-graph", "move-core-types", "petgraph 0.5.1", + "serde", + "typed-arena", ] [[package]] name = "move-bytecode-viewer" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "clap 3.2.23", - "crossterm 0.21.0", + "clap 4.5.16", + "crossterm 0.26.1", "move-binary-format", "move-bytecode-source-map", - "move-command-line-common", "move-disassembler", - "move-ir-types", "regex", "tui", ] @@ -5221,62 +5333,46 @@ dependencies = [ [[package]] name = "move-cli" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "clap 4.5.16", "codespan-reporting", "colored", - "difference", - "itertools", "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-utils", - "move-bytecode-verifier", "move-bytecode-viewer", "move-command-line-common", "move-compiler", + "move-compiler-v2", "move-core-types", "move-coverage 0.1.0", "move-disassembler", "move-docgen", "move-errmapgen", - "move-ir-types", + "move-model", "move-package", "move-prover", - "move-resource-viewer", "move-stdlib", - "move-symbol-pool", "move-unit-test", "move-vm-runtime", "move-vm-test-utils", - "move-vm-types", "once_cell", - "read-write-set", - "read-write-set-dynamic", - "reqwest", - "serde 1.0.205", - "serde_json", - "serde_yaml", "tempfile", - "toml_edit", - "walkdir", ] [[package]] name = "move-command-line-common" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "difference", "dirs-next", "hex", "move-core-types", - "num-bigint", + "num-bigint 0.3.3", "once_cell", - "serde 1.0.205", + "serde", "sha2 0.9.9", "walkdir", ] @@ -5284,13 +5380,12 @@ dependencies = [ [[package]] name = "move-compiler" version = "0.0.1" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "bcs 0.1.4", + "clap 4.5.16", "codespan-reporting", - "difference", "hex", "move-binary-format", "move-borrow-graph", @@ -5301,47 +5396,78 @@ dependencies = [ "move-ir-to-bytecode", "move-ir-types", "move-symbol-pool", - "num-bigint", "once_cell", "petgraph 0.5.1", "regex", "sha3", "tempfile", - "walkdir", +] + +[[package]] +name = "move-compiler-v2" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +dependencies = [ + "abstract-domain-derive", + "anyhow", + "bcs 0.1.4", + "clap 4.5.16", + "codespan-reporting", + "ethnum", + "flexi_logger", + "im", + "itertools 0.13.0", + "log 0.4.17", + "move-binary-format", + "move-bytecode-source-map", + "move-bytecode-verifier", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-disassembler", + "move-ir-types", + "move-model", + "move-stackless-bytecode", + "move-symbol-pool", + "num", + "once_cell", + "petgraph 0.5.1", ] [[package]] name = "move-core-types" version = "0.0.4" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "arbitrary", - "bcs", - "bech32", + "bcs 0.1.4", + "bytes 1.6.1", "ethnum", + "hashbrown 0.14.5", "hex", "num", "once_cell", "openrpc-schema", "primitive-types 0.10.1", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "ref-cast", - "serde 1.0.205", + "serde", "serde_bytes", + "thiserror", "uint 0.9.5", ] [[package]] name = "move-coverage" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "bcs 0.1.4", + "clap 4.5.16", "codespan 0.11.1", "colored", "move-binary-format", @@ -5349,9 +5475,8 @@ dependencies = [ "move-command-line-common", "move-core-types", "move-ir-types", - "once_cell", "petgraph 0.5.1", - "serde 1.0.205", + "serde", ] [[package]] @@ -5359,8 +5484,8 @@ name = "move-coverage" version = "2.0.1" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "bcs 0.1.5", + "clap 4.5.16", "codespan 0.8.0", "colored", "move-binary-format", @@ -5368,20 +5493,19 @@ dependencies = [ "move-command-line-common", "move-coverage 0.1.0", "petgraph 0.5.1", - "serde 1.0.205", + "serde", ] [[package]] name = "move-disassembler" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "clap 3.2.23", + "clap 4.5.16", "colored", "move-binary-format", "move-bytecode-source-map", - "move-bytecode-verifier", "move-command-line-common", "move-compiler", "move-core-types", @@ -5392,58 +5516,54 @@ dependencies = [ [[package]] name = "move-docgen" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", + "clap 4.5.16", "codespan 0.11.1", "codespan-reporting", - "itertools", + "itertools 0.13.0", "log 0.4.17", "move-compiler", + "move-core-types", "move-model", - "num", "once_cell", "regex", - "serde 1.0.205", + "serde", ] [[package]] name = "move-errmapgen" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "log 0.4.17", "move-command-line-common", "move-core-types", "move-model", - "serde 1.0.205", + "serde", ] [[package]] name = "move-ir-compiler" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "bcs 0.1.4", + "clap 4.5.16", "move-binary-format", "move-bytecode-source-map", "move-bytecode-verifier", "move-command-line-common", - "move-core-types", "move-ir-to-bytecode", - "move-ir-types", - "move-symbol-pool", "serde_json", ] [[package]] name = "move-ir-to-bytecode" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "codespan-reporting", @@ -5456,13 +5576,12 @@ dependencies = [ "move-ir-types", "move-symbol-pool", "ouroboros", - "thiserror", ] [[package]] name = "move-ir-to-bytecode-syntax" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "hex", @@ -5475,31 +5594,29 @@ dependencies = [ [[package]] name = "move-ir-types" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ - "anyhow", "hex", "move-command-line-common", "move-core-types", "move-symbol-pool", "once_cell", - "serde 1.0.205", + "serde", ] [[package]] name = "move-model" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "codespan 0.11.1", "codespan-reporting", "internment", - "itertools", + "itertools 0.13.0", "log 0.4.17", "move-binary-format", "move-bytecode-source-map", - "move-bytecode-verifier", "move-command-line-common", "move-compiler", "move-core-types", @@ -5507,28 +5624,28 @@ dependencies = [ "move-ir-types", "move-symbol-pool", "num", + "num-traits", "once_cell", "regex", - "serde 1.0.205", + "serde", ] [[package]] name = "move-package" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "clap 4.5.16", "colored", - "dirs-next", - "itertools", + "itertools 0.13.0", "move-abigen", "move-binary-format", "move-bytecode-source-map", "move-bytecode-utils", "move-command-line-common", "move-compiler", + "move-compiler-v2", "move-core-types", "move-docgen", "move-model", @@ -5536,14 +5653,13 @@ dependencies = [ "named-lock", "once_cell", "petgraph 0.5.1", - "ptree", "regex", - "reqwest", - "serde 1.0.205", + "serde", "serde_yaml", "sha2 0.9.9", "tempfile", - "toml", + "termcolor", + "toml 0.7.8", "walkdir", "whoami", ] @@ -5553,15 +5669,15 @@ name = "move-package-manager" version = "2.0.1" dependencies = [ "anyhow", - "bcs", + "bcs 0.1.5", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "codespan-reporting", "datatest-stable 0.1.1", "difference", - "futures 0.3.26", + "futures 0.3.30", "include_dir", - "itertools", + "itertools 0.10.5", "jsonrpc-client-transports 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "move-binary-format", @@ -5602,154 +5718,123 @@ dependencies = [ [[package]] name = "move-prover" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "async-trait", "atty", - "clap 3.2.23", - "codespan 0.11.1", + "clap 4.5.16", "codespan-reporting", - "futures 0.3.26", - "hex", - "itertools", + "itertools 0.13.0", "log 0.4.17", "move-abigen", - "move-binary-format", "move-command-line-common", "move-compiler", - "move-core-types", + "move-compiler-v2", "move-docgen", "move-errmapgen", - "move-ir-types", "move-model", "move-prover-boogie-backend", + "move-prover-bytecode-pipeline", "move-stackless-bytecode", - "num", "once_cell", - "pretty", - "rand 0.8.5", - "serde 1.0.205", - "serde_json", - "simplelog 0.12.2", - "tokio", - "toml", + "serde", + "simplelog", + "toml 0.7.8", ] [[package]] name = "move-prover-boogie-backend" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "async-trait", "codespan 0.11.1", "codespan-reporting", - "futures 0.3.26", - "itertools", + "futures 0.3.30", + "itertools 0.13.0", "log 0.4.17", "move-binary-format", "move-command-line-common", + "move-compiler", "move-core-types", "move-model", + "move-prover-bytecode-pipeline", "move-stackless-bytecode", "num", "once_cell", "pretty", - "rand 0.8.5", + "rand 0.7.3", "regex", - "serde 1.0.205", - "serde_json", + "serde", "tera", "tokio", ] [[package]] -name = "move-prover-test-utils" +name = "move-prover-bytecode-pipeline" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ + "abstract-domain-derive", "anyhow", - "move-command-line-common", - "prettydiff", - "regex", + "codespan-reporting", + "itertools 0.13.0", + "log 0.4.17", + "move-binary-format", + "move-core-types", + "move-model", + "move-stackless-bytecode", + "serde", ] [[package]] -name = "move-read-write-set-types" -version = "0.0.3" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +name = "move-prover-test-utils" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "move-binary-format", - "move-core-types", - "serde 1.0.205", + "move-command-line-common", + "prettydiff", + "regex", ] [[package]] name = "move-resource-viewer" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "bcs", "hex", "move-binary-format", "move-bytecode-utils", "move-core-types", - "once_cell", - "serde 1.0.205", + "serde", ] [[package]] name = "move-stackless-bytecode" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ - "codespan 0.11.1", + "abstract-domain-derive", "codespan-reporting", "ethnum", "im", - "itertools", + "itertools 0.13.0", "log 0.4.17", "move-binary-format", - "move-borrow-graph", - "move-bytecode-verifier", - "move-command-line-common", - "move-compiler", "move-core-types", - "move-ir-to-bytecode", "move-model", - "move-read-write-set-types", "num", - "once_cell", "paste", "petgraph 0.5.1", - "serde 1.0.205", -] - -[[package]] -name = "move-stackless-bytecode-interpreter" -version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" -dependencies = [ - "anyhow", - "bytecode-interpreter-crypto", - "clap 3.2.23", - "codespan-reporting", - "itertools", - "move-binary-format", - "move-core-types", - "move-model", - "move-stackless-bytecode", - "num", - "serde 1.0.205", ] [[package]] name = "move-stdlib" version = "0.1.1" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "hex", @@ -5772,25 +5857,23 @@ dependencies = [ [[package]] name = "move-symbol-pool" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "once_cell", - "serde 1.0.205", + "serde", ] [[package]] name = "move-table-extension" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ - "anyhow", - "bcs", "better_any", + "bytes 1.6.1", "move-binary-format", "move-core-types", "move-vm-runtime", "move-vm-types", - "once_cell", "sha3", "smallvec 1.10.0", ] @@ -5798,64 +5881,56 @@ dependencies = [ [[package]] name = "move-transactional-test-runner" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", - "clap 3.2.23", - "colored", - "hex", - "jpst", + "clap 4.5.16", "move-binary-format", "move-bytecode-source-map", - "move-bytecode-utils", "move-bytecode-verifier", - "move-cli", "move-command-line-common", "move-compiler", + "move-compiler-v2", "move-core-types", "move-disassembler", "move-ir-compiler", "move-ir-types", + "move-model", "move-resource-viewer", - "move-stackless-bytecode-interpreter", "move-stdlib", "move-symbol-pool", "move-vm-runtime", "move-vm-test-utils", "move-vm-types", "once_cell", - "rayon", "regex", - "serde_json", "tempfile", + "termcolor", ] [[package]] name = "move-unit-test" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", "better_any", - "clap 3.2.23", + "clap 4.5.16", "codespan-reporting", "colored", - "itertools", + "itertools 0.13.0", "move-binary-format", "move-bytecode-utils", "move-command-line-common", "move-compiler", "move-core-types", "move-ir-types", - "move-model", "move-resource-viewer", - "move-stackless-bytecode-interpreter", "move-stdlib", "move-symbol-pool", "move-table-extension", "move-vm-runtime", "move-vm-test-utils", - "move-vm-types", "once_cell", "rayon", "regex", @@ -5864,47 +5939,58 @@ dependencies = [ [[package]] name = "move-vm-runtime" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "better_any", "bytes 1.6.1", "fail", + "hashbrown 0.14.5", + "lazy_static", + "lru 0.7.8", "move-binary-format", "move-bytecode-verifier", "move-core-types", "move-vm-types", "once_cell", - "parking_lot 0.11.2", + "parking_lot 0.12.1", + "serde", "sha3", "tracing", + "triomphe", "typed-arena", ] [[package]] name = "move-vm-test-utils" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ "anyhow", + "bytes 1.6.1", "move-binary-format", + "move-bytecode-utils", "move-core-types", "move-table-extension", "move-vm-types", "once_cell", - "serde 1.0.205", + "serde", ] [[package]] name = "move-vm-types" version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" +source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" dependencies = [ - "bcs", + "bcs 0.1.4", + "bytes 1.6.1", + "derivative", + "itertools 0.13.0", "move-binary-format", "move-core-types", - "once_cell", - "serde 1.0.205", + "serde", + "smallbitvec", "smallvec 1.10.0", + "triomphe", ] [[package]] @@ -5919,7 +6005,7 @@ dependencies = [ "multibase", "multihash", "percent-encoding 2.2.0", - "serde 1.0.205", + "serde", "static_assertions", "unsigned-varint 0.7.1", "url 2.3.1", @@ -5976,7 +6062,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "pin-project 1.0.12", "smallvec 1.10.0", @@ -6012,7 +6098,7 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ - "lazy_static 1.4.0", + "lazy_static", "libc", "log 0.4.17", "openssl", @@ -6054,7 +6140,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" dependencies = [ "anyhow", - "bitflags", + "bitflags 1.3.2", "byteorder", "libc", "netlink-packet-core", @@ -6080,7 +6166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "netlink-packet-core", "netlink-sys", @@ -6095,7 +6181,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" dependencies = [ "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "libc", "log 0.4.17", "tokio", @@ -6108,15 +6194,15 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "hex", - "itertools", + "itertools 0.10.5", "network-p2p-types", "network-types", "parking_lot 0.12.1", "rand 0.8.5", "schemars", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-logger", "starcoin-metrics", @@ -6133,13 +6219,13 @@ dependencies = [ "async-trait", "asynchronous-codec 0.5.0", "bcs-ext", - "bitflags", + "bitflags 1.3.2", "bs58 0.3.1", "bytes 1.6.1", "derive_more", "either", "fnv", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "ip_network", @@ -6155,7 +6241,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "sc-peerset", - "serde 1.0.205", + "serde", "serde_json", "smallvec 1.10.0", "starcoin-config", @@ -6178,12 +6264,12 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "network-p2p-derive", "network-p2p-types", "num_enum", - "serde 1.0.205", + "serde", "starcoin-types", "stest", ] @@ -6203,14 +6289,14 @@ name = "network-p2p-types" version = "2.0.1" dependencies = [ "anyhow", - "bitflags", + "bitflags 1.3.2", "bytes 1.6.1", "derive_more", "libp2p", "rand 0.8.5", "sc-peerset", "schemars", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-types", @@ -6223,7 +6309,7 @@ dependencies = [ "anyhow", "network-p2p-types", "schemars", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-types", ] @@ -6243,7 +6329,7 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cc", "cfg-if 1.0.0", "libc", @@ -6256,7 +6342,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "memoffset 0.6.5", @@ -6268,7 +6354,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "static_assertions", @@ -6286,17 +6372,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "lexical-core", - "memchr", - "version_check 0.9.4", -] - [[package]] name = "nom" version = "7.1.3" @@ -6315,20 +6390,20 @@ checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] name = "ntapi" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ "winapi 0.3.9", ] [[package]] -name = "ntapi" -version = "0.4.1" +name = "nu-ansi-term" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68" dependencies = [ - "winapi 0.3.9", + "windows-sys 0.48.0", ] [[package]] @@ -6337,12 +6412,24 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" dependencies = [ - "num-bigint", + "num-bigint 0.4.3", "num-complex", "num-integer", "num-iter", "num-rational", - "num-traits 0.2.15", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg 1.1.0", + "num-integer", + "num-traits", + "rand 0.7.3", ] [[package]] @@ -6353,7 +6440,7 @@ checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg 1.1.0", "num-integer", - "num-traits 0.2.15", + "num-traits", ] [[package]] @@ -6362,7 +6449,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ - "num-traits 0.2.15", + "num-traits", ] [[package]] @@ -6393,7 +6480,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg 1.1.0", - "num-traits 0.2.15", + "num-traits", ] [[package]] @@ -6404,7 +6491,7 @@ checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg 1.1.0", "num-integer", - "num-traits 0.2.15", + "num-traits", ] [[package]] @@ -6414,18 +6501,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg 1.1.0", - "num-bigint", + "num-bigint 0.4.3", "num-integer", - "num-traits 0.2.15", -] - -[[package]] -name = "num-traits" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" -dependencies = [ - "num-traits 0.2.15", + "num-traits", ] [[package]] @@ -6513,9 +6591,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" @@ -6555,7 +6633,7 @@ version = "0.1.0" source = "git+https://github.com/starcoinorg/openrpc-rs?rev=f8ab047e30927cdf2f605b61a219c975d6c4f666#f8ab047e30927cdf2f605b61a219c975d6c4f666" dependencies = [ "schemars", - "serde 1.0.205", + "serde", "serde_json", ] @@ -6565,7 +6643,7 @@ version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -6610,7 +6688,7 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" dependencies = [ - "num-traits 0.2.15", + "num-traits", ] [[package]] @@ -6630,19 +6708,19 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "ouroboros" -version = "0.9.5" +version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeff60e3e37407a80ead3e9458145b456e978c4068cddbfea6afb48572962ca" +checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" dependencies = [ + "aliasable", "ouroboros_macro", - "stable_deref_trait", ] [[package]] name = "ouroboros_macro" -version = "0.9.5" +version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f2cb802b5bdfdf52f1ffa0b54ce105e4d346e91990dd571f86c91321ad49e2" +checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" dependencies = [ "Inflector", "proc-macro-error", @@ -6683,6 +6761,15 @@ dependencies = [ "libm 0.1.4", ] +[[package]] +name = "pad" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ad9b889f1b12e0b9ee24db044b5129150d5eada288edc800f789928dc8c0e3" +dependencies = [ + "unicode-width", +] + [[package]] name = "parity-scale-codec" version = "1.3.7" @@ -6692,7 +6779,7 @@ dependencies = [ "arrayvec 0.5.2", "bitvec 0.17.4", "byte-slice-cast 0.3.5", - "serde 1.0.205", + "serde", ] [[package]] @@ -6706,7 +6793,7 @@ dependencies = [ "byte-slice-cast 1.2.2", "impl-trait-for-tuples", "parity-scale-codec-derive", - "serde 1.0.205", + "serde", ] [[package]] @@ -6727,7 +6814,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "libc", "log 0.4.17", "rand 0.7.3", @@ -6981,7 +7068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" dependencies = [ "fixedbitset 0.2.0", - "indexmap", + "indexmap 1.9.3", ] [[package]] @@ -6991,7 +7078,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset 0.4.2", - "indexmap", + "indexmap 1.9.3", ] [[package]] @@ -7081,9 +7168,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -7119,7 +7206,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" dependencies = [ - "num-traits 0.2.15", + "num-traits", "plotters-backend", "plotters-svg", "wasm-bindgen", @@ -7240,13 +7327,14 @@ dependencies = [ [[package]] name = "prettydiff" -version = "0.4.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bc9e8bdfe446d34975ff774fbb4a2b944d17054f6b5845ec132d4fb9ff8f559" +checksum = "8ff1fec61082821f8236cf6c0c14e8172b62ce8a72a0eedc30d3b247bb68dc11" dependencies = [ - "ansi_term 0.9.0", + "ansi_term", + "pad", "prettytable-rs", - "structopt 0.2.18", + "structopt", ] [[package]] @@ -7271,15 +7359,15 @@ dependencies = [ [[package]] name = "prettytable-rs" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd04b170004fa2daccf418a7f8253aaf033c27760b5f225889024cf66d7ac2e" +checksum = "eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a" dependencies = [ - "atty", "csv", - "encode_unicode", - "lazy_static 1.4.0", - "term 0.5.2", + "encode_unicode 1.0.0", + "is-terminal", + "lazy_static", + "term", "unicode-width", ] @@ -7314,7 +7402,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ - "toml", + "toml 0.5.11", ] [[package]] @@ -7324,7 +7412,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ "thiserror", - "toml", + "toml 0.5.11", ] [[package]] @@ -7383,7 +7471,7 @@ checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ "cfg-if 1.0.0", "fnv", - "lazy_static 1.4.0", + "lazy_static", "libc", "memchr", "parking_lot 0.12.1", @@ -7417,16 +7505,15 @@ dependencies = [ [[package]] name = "proptest" -version = "1.1.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f1b898011ce9595050a68e60f90bad083ff2987a695a42357134c8381fba70" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ "bit-set", - "bitflags", - "byteorder", - "lazy_static 1.4.0", - "num-traits 0.2.15", - "quick-error 2.0.1", + "bit-vec", + "bitflags 2.6.0", + "lazy_static", + "num-traits", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift 0.3.0", @@ -7447,6 +7534,17 @@ dependencies = [ "syn 0.15.44", ] +[[package]] +name = "proptest-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf16337405ca084e9c78985114633b6827711d22b9e6ef6c6c0d665eb3f0b6e" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", +] + [[package]] name = "prost" version = "0.11.6" @@ -7465,8 +7563,8 @@ checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" dependencies = [ "bytes 1.6.1", "heck 0.4.1", - "itertools", - "lazy_static 1.4.0", + "itertools 0.10.5", + "lazy_static", "log 0.4.17", "multimap", "petgraph 0.6.3", @@ -7499,7 +7597,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2 1.0.86", "quote 1.0.36", "syn 1.0.107", @@ -7536,22 +7634,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "ptree" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0de80796b316aec75344095a6d2ef68ec9b8f573b9e7adc821149ba3598e270" -dependencies = [ - "ansi_term 0.12.1", - "atty", - "config", - "directories", - "petgraph 0.6.3", - "serde 1.0.205", - "serde-value", - "tint", -] - [[package]] name = "quanta" version = "0.9.3" @@ -7574,12 +7656,6 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - [[package]] name = "quick-xml" version = "0.26.0" @@ -7768,7 +7844,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.8", - "serde 1.0.205", + "serde", ] [[package]] @@ -7866,7 +7942,7 @@ version = "10.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c307f7aacdbab3f0adee67d52739a1d71112cc068d6fab169ddeb18e48877fad" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -7925,33 +8001,6 @@ dependencies = [ "rand_core 0.3.1", ] -[[package]] -name = "read-write-set" -version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" -dependencies = [ - "anyhow", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-model", - "move-read-write-set-types", - "move-stackless-bytecode", - "read-write-set-dynamic", -] - -[[package]] -name = "read-write-set-dynamic" -version = "0.1.0" -source = "git+https://github.com/starcoinorg/move?rev=905484b15b2a2218013fdb2c034f1d7898d29a25#905484b15b2a2218013fdb2c034f1d7898d29a25" -dependencies = [ - "anyhow", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-read-write-set-types", -] - [[package]] name = "redox_syscall" version = "0.1.57" @@ -7964,18 +8013,16 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] -name = "redox_users" -version = "0.3.5" +name = "redox_syscall" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "getrandom 0.1.16", - "redox_syscall 0.1.57", - "rust-argon2", + "bitflags 1.3.2", ] [[package]] @@ -8011,12 +8058,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.1" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ - "aho-corasick", + "aho-corasick 1.1.3", "memchr", + "regex-automata 0.4.7", "regex-syntax", ] @@ -8026,11 +8074,22 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick 1.1.3", + "memchr", + "regex-syntax", +] + [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "remove_dir_all" @@ -8065,8 +8124,8 @@ dependencies = [ "native-tls", "once_cell", "percent-encoding 2.2.0", - "pin-project-lite 0.2.9", - "serde 1.0.205", + "pin-project-lite 0.2.14", + "serde", "serde_json", "serde_urlencoded", "tokio", @@ -8087,7 +8146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ "hostname", - "quick-error 1.2.3", + "quick-error", ] [[package]] @@ -8096,11 +8155,11 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "csv", "hex", "pprof", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-resource-viewer", @@ -8214,7 +8273,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "netlink-packet-route", "netlink-proto", @@ -8232,7 +8291,7 @@ dependencies = [ "async-trait", "bytes 1.6.1", "rand 0.8.5", - "serde 1.0.205", + "serde", "thiserror", "webrtc-util", ] @@ -8294,12 +8353,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "rust-ini" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2" - [[package]] name = "rustc-demangle" version = "0.1.21" @@ -8348,7 +8401,7 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "nom 7.1.3", + "nom", ] [[package]] @@ -8357,7 +8410,7 @@ version = "0.36.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14e4d67015953998ad0eb82887a0eb0129e18a7e2f3b7b0f6c422fddcd503d62" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", @@ -8403,7 +8456,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" dependencies = [ "fnv", - "quick-error 1.2.3", + "quick-error", "tempfile", "wait-timeout", ] @@ -8414,7 +8467,7 @@ version = "9.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "clipboard-win", "dirs-next", @@ -8448,7 +8501,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "pin-project 1.0.12", "static_assertions", ] @@ -8478,7 +8531,7 @@ dependencies = [ name = "sc-peerset" version = "2.0.1" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "libp2p", "log 0.4.17", "rand 0.8.5", @@ -8504,7 +8557,7 @@ dependencies = [ "dyn-clone", "multiaddr", "schemars_derive", - "serde 1.0.205", + "serde", "serde_json", ] @@ -8524,7 +8577,7 @@ name = "scmd" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", + "clap 4.5.16", "cli-table", "ctrlc", "jpst", @@ -8533,7 +8586,7 @@ dependencies = [ "rust-flatten-json", "rustyline", "rustyline-derive", - "serde 1.0.205", + "serde", "serde_json", "thiserror", ] @@ -8602,7 +8655,7 @@ version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -8640,12 +8693,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -[[package]] -name = "serde" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" - [[package]] name = "serde" version = "1.0.205" @@ -8660,16 +8707,16 @@ name = "serde-generate" version = "0.19.1" source = "git+https://github.com/starcoinorg/serde-reflection?rev=eb95fd4e3b67e08d71432b522c53833a0b855d80#eb95fd4e3b67e08d71432b522c53833a0b855d80" dependencies = [ - "bcs", + "bcs 0.1.5", "bincode", "heck 0.3.3", "include_dir", "maplit", - "serde 1.0.205", + "serde", "serde-reflection 0.3.2", "serde_bytes", "serde_yaml", - "structopt 0.3.26", + "structopt", "textwrap 0.13.4", ] @@ -8679,30 +8726,18 @@ version = "2.0.1" dependencies = [ "bcs-ext", "hex", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", ] -[[package]] -name = "serde-hjson" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3a4e0ea8a88553209f6cc6cfe8724ecad22e1acf372793c27d995290fe74f8" -dependencies = [ - "lazy_static 1.4.0", - "num-traits 0.1.43", - "regex", - "serde 0.8.23", -] - [[package]] name = "serde-name" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12c47087018ec281d1cdab673d36aea22d816b54d498264029c05d5fa1910da6" dependencies = [ - "serde 1.0.205", + "serde", "thiserror", ] @@ -8712,7 +8747,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b5b14ebbcc4e4f2b3642fa99c388649da58d1dc3308c7d109f39f565d1710f0" dependencies = [ - "serde 1.0.205", + "serde", "thiserror", ] @@ -8721,18 +8756,17 @@ name = "serde-reflection" version = "0.3.2" source = "git+https://github.com/starcoinorg/serde-reflection?rev=eb95fd4e3b67e08d71432b522c53833a0b855d80#eb95fd4e3b67e08d71432b522c53833a0b855d80" dependencies = [ - "serde 1.0.205", + "serde", "thiserror", ] [[package]] name = "serde-reflection" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05a5f801ac62a51a49d378fdb3884480041b99aced450b28990673e8ff99895" +version = "0.3.5" +source = "git+https://github.com/aptos-labs/serde-reflection?rev=73b6bbf748334b71ff6d7d09d06a29e3062ca075#73b6bbf748334b71ff6d7d09d06a29e3062ca075" dependencies = [ "once_cell", - "serde 1.0.205", + "serde", "thiserror", ] @@ -8743,7 +8777,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ "ordered-float", - "serde 1.0.205", + "serde", ] [[package]] @@ -8752,7 +8786,7 @@ version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" dependencies = [ - "serde 1.0.205", + "serde", ] [[package]] @@ -8762,7 +8796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ "half", - "serde 1.0.205", + "serde", ] [[package]] @@ -8793,9 +8827,19 @@ version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ + "indexmap 1.9.3", "itoa", "ryu", - "serde 1.0.205", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +dependencies = [ + "serde", ] [[package]] @@ -8807,7 +8851,7 @@ dependencies = [ "form_urlencoded", "itoa", "ryu", - "serde 1.0.205", + "serde", ] [[package]] @@ -8816,7 +8860,7 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" dependencies = [ - "serde 1.0.205", + "serde", "serde_with_macros", ] @@ -8838,9 +8882,9 @@ version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" dependencies = [ - "indexmap", + "indexmap 1.9.3", "ryu", - "serde 1.0.205", + "serde", "yaml-rust", ] @@ -8959,7 +9003,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" dependencies = [ "libc", - "mio 0.7.14", + "mio 0.8.6", "signal-hook", ] @@ -9022,17 +9066,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "simplelog" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0" -dependencies = [ - "log 0.4.17", - "termcolor", - "time 0.3.19", -] - [[package]] name = "siphasher" version = "0.3.10" @@ -9084,7 +9117,7 @@ checksum = "87d29185c55b7b258b4f120eab00f48557d4d9bc814f41713f449d35b0f8977c" dependencies = [ "atty", "slog", - "term 0.7.0", + "term", "thread_local", "time 0.3.19", ] @@ -9098,6 +9131,12 @@ dependencies = [ "deunicode", ] +[[package]] +name = "smallbitvec" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3fc564a4b53fd1e8589628efafe57602d91bde78be18186b5f61e8faea470" + [[package]] name = "smallvec" version = "0.6.14" @@ -9146,6 +9185,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -9155,7 +9204,7 @@ dependencies = [ "base64 0.13.1", "bytes 1.6.1", "flate2", - "futures 0.3.26", + "futures 0.3.30", "httparse", "log 0.4.17", "rand 0.8.5", @@ -9166,9 +9215,9 @@ dependencies = [ name = "sp-utils" version = "2.0.1" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "futures-core", - "lazy_static 1.4.0", + "lazy_static", "once_cell", "parking_lot 0.12.1", "prometheus", @@ -9202,13 +9251,13 @@ name = "starcoin-abi-decoder" version = "2.0.1" dependencies = [ "anyhow", - "bcs", + "bcs 0.1.5", "bcs-ext", "hex", "move-binary-format", "ordinal", "schemars", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", "starcoin-abi-resolver", @@ -9239,7 +9288,7 @@ dependencies = [ "hex", "move-core-types", "schemars", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", "starcoin-vm-types", @@ -9252,12 +9301,12 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "hex", "parking_lot 0.12.1", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account-api", "starcoin-config", @@ -9276,12 +9325,12 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "hex", "rand 0.8.5", "rand_core 0.6.4", "schemars", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", "starcoin-crypto", @@ -9311,7 +9360,7 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "starcoin-account", "starcoin-account-api", "starcoin-chain-notify", @@ -9332,17 +9381,17 @@ dependencies = [ "anyhow", "bcs-ext", "byteorder", - "itertools", + "itertools 0.10.5", "lru 0.7.8", "mirai-annotations", "once_cell", "parking_lot 0.12.1", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", "schemars", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-logger", ] @@ -9354,7 +9403,7 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "hex", "network-api", "starcoin-chain", @@ -9383,10 +9432,10 @@ dependencies = [ "anyhow", "async-std", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", "serde_json", @@ -9428,11 +9477,11 @@ version = "2.0.1" dependencies = [ "anyhow", "async-trait", - "futures 0.3.26", + "futures 0.3.30", "network-api", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "starcoin-accumulator", "starcoin-config", "starcoin-crypto", @@ -9454,11 +9503,11 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "parking_lot 0.12.1", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "starcoin-account-api", "starcoin-accumulator", "starcoin-chain", @@ -9497,10 +9546,10 @@ dependencies = [ "anyhow", "async-std", "async-trait", - "futures 0.3.26", + "futures 0.3.30", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "starcoin-accumulator", "starcoin-chain", "starcoin-chain-api", @@ -9528,12 +9577,12 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "crossbeam-channel", "forkable-jellyfish-merkle", - "futures 0.3.26", + "futures 0.3.30", "hex", - "itertools", + "itertools 0.10.5", "move-command-line-common", "move-errmapgen", "network-api", @@ -9542,7 +9591,7 @@ dependencies = [ "num_cpus", "rand 0.8.5", "scmd", - "serde 1.0.205", + "serde", "serde_json", "starcoin-abi-decoder", "starcoin-abi-resolver", @@ -9586,7 +9635,7 @@ name = "starcoin-config" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", + "clap 4.5.16", "dirs-next", "git-version", "hex", @@ -9602,7 +9651,7 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "schemars", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account-api", "starcoin-crypto", @@ -9618,7 +9667,7 @@ dependencies = [ "stdlib", "tempfile", "thiserror", - "toml", + "toml 0.5.11", ] [[package]] @@ -9628,13 +9677,13 @@ dependencies = [ "anyhow", "byteorder", "cryptonight-rs", - "futures 0.3.26", + "futures 0.3.30", "hex", "once_cell", "rand 0.8.5", "rand_core 0.6.4", "rust-argon2", - "serde 1.0.205", + "serde", "serde_json", "sha3", "starcoin-chain-api", @@ -9654,14 +9703,14 @@ version = "1.10.0-rc.2" source = "git+https://github.com/starcoinorg/starcoin-crypto?rev=8d41c280a227594ca0a2b6ecba580643518274ea#8d41c280a227594ca0a2b6ecba580643518274ea" dependencies = [ "anyhow", - "bcs", + "bcs 0.1.5", "diem-crypto", "diem-crypto-derive", "hex", "once_cell", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "serde-name 0.2.1", "serde_bytes", "starcoin-crypto-macro", @@ -9686,19 +9735,19 @@ dependencies = [ "bincode", "byteorder", "cryptonight-rs", - "futures 0.3.26", + "futures 0.3.30", "hex", - "itertools", + "itertools 0.10.5", "once_cell", "parking_lot 0.12.1", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", "rocksdb", "rust-argon2", "schemars", - "serde 1.0.205", + "serde", "sha3", "starcoin-accumulator", "starcoin-config", @@ -9721,7 +9770,7 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "serde 1.0.205", + "serde", "serde-reflection 0.3.2", "serde_yaml", "starcoin-crypto", @@ -9774,7 +9823,7 @@ dependencies = [ "log 0.4.17", "move-transactional-test-runner", "once_cell", - "serde 1.0.205", + "serde", "serde_json", "starcoin-abi-resolver", "starcoin-abi-types", @@ -9803,8 +9852,8 @@ name = "starcoin-executor-benchmark" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", - "itertools", + "clap 4.5.16", + "itertools 0.10.5", "rand 0.8.5", "rayon", "starcoin-accumulator", @@ -9828,13 +9877,13 @@ version = "2.0.1" dependencies = [ "anyhow", "ascii", - "clap 3.2.23", - "futures 0.3.26", + "clap 4.5.16", + "futures 0.3.30", "futures-timer", "hex", "once_cell", "rust-embed", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account-api", "starcoin-config", @@ -9857,7 +9906,7 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "include_dir", "parking_lot 0.12.1", "starcoin-accumulator", @@ -9879,7 +9928,7 @@ dependencies = [ [[package]] name = "starcoin-framework" version = "13.0.0" -source = "git+https://github.com/starcoinorg/starcoin-framework?rev=94bcd77e80232b169cf95754ef4e87775645afcd#94bcd77e80232b169cf95754ef4e87775645afcd" +source = "git+https://github.com/starcoinorg/starcoin-framework?rev=e804cfaead592b5318a5b75fc1239c192926b7fa#e804cfaead592b5318a5b75fc1239c192926b7fa" dependencies = [ "anyhow", "include_dir", @@ -9926,7 +9975,7 @@ dependencies = [ "move-table-extension", "move-vm-test-utils", "move-vm-types", - "serde 1.0.205", + "serde", "starcoin-frameworks", ] @@ -9950,12 +9999,12 @@ name = "starcoin-generator" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", - "futures 0.3.26", + "clap 4.5.16", + "futures 0.3.30", "futures-timer", "hex", "scmd", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account", "starcoin-account-api", @@ -9976,10 +10025,10 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "include_dir", "once_cell", - "serde 1.0.205", + "serde", "starcoin-accumulator", "starcoin-chain", "starcoin-config", @@ -10007,12 +10056,12 @@ version = "2.0.1" dependencies = [ "anyhow", "async-trait", - "clap 3.2.23", + "clap 4.5.16", "elasticsearch", "futures-retry", "futures-util", "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-logger", @@ -10030,7 +10079,7 @@ name = "starcoin-language-e2e-tests" version = "2.0.1" dependencies = [ "anyhow", - "bcs", + "bcs 0.1.5", "goldenfile", "hex", "move-core-types", @@ -10039,9 +10088,9 @@ dependencies = [ "num_cpus", "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", - "serde 1.0.205", + "serde", "starcoin-config", "starcoin-crypto", "starcoin-gas-algebra-ext", @@ -10065,13 +10114,13 @@ dependencies = [ "anyhow", "arc-swap", "chrono", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "log4rs", "once_cell", "parking_lot 0.12.1", "schemars", - "serde 1.0.205", + "serde", "slog", "slog-async", "slog-term", @@ -10082,7 +10131,7 @@ name = "starcoin-metrics" version = "2.0.1" dependencies = [ "anyhow", - "futures 0.3.26", + "futures 0.3.30", "hyper 0.14.24", "prometheus", "psutil", @@ -10097,12 +10146,12 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "once_cell", "parking_lot 0.12.1", - "serde 1.0.205", + "serde", "starcoin-account-api", "starcoin-account-service", "starcoin-accumulator", @@ -10147,9 +10196,9 @@ dependencies = [ "async-std", "async-trait", "byteorder", - "clap 3.2.23", + "clap 4.5.16", "dyn-clone", - "futures 0.3.26", + "futures 0.3.30", "futures-channel", "futures-timer", "hex", @@ -10161,7 +10210,7 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "rust-argon2", - "serde 1.0.205", + "serde", "serde_json", "starcoin-config", "starcoin-consensus", @@ -10187,7 +10236,7 @@ dependencies = [ "anyhow", "async-trait", "dyn-clone", - "futures 0.3.26", + "futures 0.3.30", "starcoin-types", ] @@ -10215,7 +10264,7 @@ name = "starcoin-move-explain" version = "2.0.1" dependencies = [ "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "move-core-types", "stdlib", ] @@ -10226,11 +10275,11 @@ version = "2.0.1" dependencies = [ "anyhow", "atty", - "clap 3.2.23", + "clap 4.5.16", "codespan-reporting", "datatest-stable 0.1.3", "hex", - "itertools", + "itertools 0.10.5", "log 0.4.17", "move-command-line-common", "move-prover", @@ -10239,12 +10288,12 @@ dependencies = [ "once_cell", "pretty", "rand 0.8.5", - "serde 1.0.205", + "serde", "serde_json", "shell-words", - "simplelog 0.9.0", + "simplelog", "tempfile", - "toml", + "toml 0.5.11", "walkdir", ] @@ -10258,7 +10307,7 @@ dependencies = [ "num_cpus", "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rayon", ] @@ -10270,11 +10319,11 @@ dependencies = [ "async-std", "async-trait", "bcs-ext", - "bitflags", + "bitflags 1.3.2", "bytes 1.6.1", "derive_more", "fnv", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "log 0.4.17", @@ -10287,7 +10336,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "sc-peerset", - "serde 1.0.205", + "serde", "serde_json", "starcoin-config", "starcoin-crypto", @@ -10314,7 +10363,7 @@ dependencies = [ "api-limiter", "bcs-ext", "bytes 1.6.1", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "network-api", @@ -10323,7 +10372,7 @@ dependencies = [ "network-p2p-types", "once_cell", "prometheus", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account-api", "starcoin-accumulator", @@ -10358,13 +10407,13 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "network-p2p-core", "network-p2p-derive", "network-p2p-types", "network-types", "once_cell", - "serde 1.0.205", + "serde", "starcoin-accumulator", "starcoin-crypto", "starcoin-logger", @@ -10385,7 +10434,7 @@ dependencies = [ "async-trait", "backtrace", "chrono", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "network-api", "network-p2p-core", @@ -10440,8 +10489,8 @@ dependencies = [ "anyhow", "async-trait", "backtrace", - "futures 0.3.26", - "serde 1.0.205", + "futures 0.3.30", + "serde", "starcoin-config", "starcoin-consensus", "starcoin-crypto", @@ -10461,7 +10510,7 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "parking_lot 0.12.1", "starcoin-accumulator", "starcoin-chain-api", @@ -10491,7 +10540,7 @@ dependencies = [ "num_cpus", "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rayon", "starcoin-infallible", "starcoin-logger", @@ -10505,8 +10554,8 @@ dependencies = [ "anyhow", "async-std", "bcs-ext", - "clap 3.2.23", - "futures 0.3.26", + "clap 4.5.16", + "futures 0.3.30", "network-p2p", "network-p2p-types", "network-types", @@ -10526,7 +10575,7 @@ version = "2.0.1" dependencies = [ "crossbeam", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", ] [[package]] @@ -10534,7 +10583,7 @@ name = "starcoin-replay" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", + "clap 4.5.16", "sp-utils", "starcoin-chain", "starcoin-config", @@ -10554,7 +10603,7 @@ dependencies = [ "hex", "move-binary-format", "move-core-types", - "serde 1.0.205", + "serde", "serde_json", "starcoin-vm-types", ] @@ -10566,8 +10615,8 @@ dependencies = [ "anyhow", "async-trait", "bcs-ext", - "clap 3.2.23", - "futures 0.3.26", + "clap 4.5.16", + "futures 0.3.30", "hex", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -10581,7 +10630,7 @@ dependencies = [ "openrpc-derive", "openrpc-schema", "schemars", - "serde 1.0.205", + "serde", "serde-helpers", "serde_json", "starcoin-abi-decoder", @@ -10613,7 +10662,7 @@ dependencies = [ "anyhow", "async-std", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "jsonrpc-client-transports 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -10628,7 +10677,7 @@ dependencies = [ "network-types", "parity-tokio-ipc", "parking_lot 0.12.1", - "serde 1.0.205", + "serde", "serde_json", "starcoin-abi-types", "starcoin-account-api", @@ -10656,7 +10705,7 @@ name = "starcoin-rpc-middleware" version = "2.0.1" dependencies = [ "anyhow", - "futures 0.3.26", + "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "rand 0.8.5", @@ -10677,10 +10726,10 @@ dependencies = [ "actix-rt", "anyhow", "api-limiter", - "bcs", + "bcs 0.1.5", "bcs-ext", "dashmap", - "futures 0.3.26", + "futures 0.3.30", "futures-channel", "governor", "hex", @@ -10699,7 +10748,7 @@ dependencies = [ "network-p2p-types", "network-types", "parking_lot 0.12.1", - "serde 1.0.205", + "serde", "serde_json", "starcoin-abi-decoder", "starcoin-abi-resolver", @@ -10756,12 +10805,12 @@ dependencies = [ "anyhow", "async-std", "async-trait", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "log 0.4.17", "once_cell", "schemars", - "serde 1.0.205", + "serde", "stest", "thiserror", "tokio", @@ -10776,7 +10825,7 @@ dependencies = [ "bcs-ext", "forkable-jellyfish-merkle", "once_cell", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-service-registry", "starcoin-state-tree", @@ -10790,7 +10839,7 @@ version = "2.0.1" dependencies = [ "anyhow", "async-trait", - "futures 0.3.26", + "futures 0.3.30", "starcoin-config", "starcoin-crypto", "starcoin-logger", @@ -10812,7 +10861,7 @@ version = "2.0.1" dependencies = [ "anyhow", "forkable-jellyfish-merkle", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-vm-types", ] @@ -10825,7 +10874,7 @@ dependencies = [ "bcs-ext", "forkable-jellyfish-merkle", "parking_lot 0.12.1", - "serde 1.0.205", + "serde", "starcoin-config", "starcoin-crypto", "starcoin-logger", @@ -10844,7 +10893,7 @@ dependencies = [ "forkable-jellyfish-merkle", "lru 0.7.8", "parking_lot 0.12.1", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-logger", "starcoin-state-api", @@ -10871,10 +10920,10 @@ dependencies = [ "once_cell", "parking_lot 0.12.1", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rocksdb", - "serde 1.0.205", + "serde", "starcoin-accumulator", "starcoin-config", "starcoin-crypto", @@ -10894,7 +10943,7 @@ version = "2.0.1" dependencies = [ "anyhow", "byteorder", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", @@ -10902,7 +10951,7 @@ dependencies = [ "jsonrpc-derive 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "jsonrpc-pubsub 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "jsonrpc-tcp-server 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", - "serde 1.0.205", + "serde", "serde_json", "starcoin-config", "starcoin-crypto", @@ -10923,18 +10972,18 @@ dependencies = [ "bcs-ext", "byteorder", "forkable-jellyfish-merkle", - "futures 0.3.26", + "futures 0.3.30", "futures-retry", "futures-timer", "hex", - "itertools", + "itertools 0.10.5", "network-api", "network-p2p-core", "parking_lot 0.12.1", "pin-project 0.4.30", "pin-utils", "rand 0.8.5", - "serde 1.0.205", + "serde", "starcoin-account-api", "starcoin-accumulator", "starcoin-block-relayer", @@ -10986,7 +11035,7 @@ dependencies = [ "async-trait", "network-api", "schemars", - "serde 1.0.205", + "serde", "starcoin-accumulator", "starcoin-crypto", "starcoin-logger", @@ -11008,7 +11057,7 @@ name = "starcoin-time-service" version = "2.0.1" dependencies = [ "log 0.4.17", - "serde 1.0.205", + "serde", ] [[package]] @@ -11020,7 +11069,7 @@ dependencies = [ "log 0.4.17", "num_cpus", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "starcoin-crypto", "starcoin-language-e2e-tests", "starcoin-types", @@ -11049,15 +11098,16 @@ version = "2.0.1" dependencies = [ "anyhow", "async-trait", - "bcs", + "bcs 0.1.5", "bcs-ext", - "clap 3.2.23", + "bytes 1.6.1", + "clap 4.5.16", "dashmap", "datatest-stable 0.1.3", "either", - "futures 0.3.26", + "futures 0.3.30", "hex", - "itertools", + "itertools 0.10.5", "jsonrpc-client-transports 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -11072,8 +11122,9 @@ dependencies = [ "move-resource-viewer", "move-table-extension", "move-transactional-test-runner", + "move-vm-types", "once_cell", - "serde 1.0.205", + "serde", "serde_json", "starcoin-abi-decoder", "starcoin-accumulator", @@ -11104,9 +11155,9 @@ name = "starcoin-tx-factory" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", + "clap 4.5.16", "ctrlc", - "futures 0.3.26", + "futures 0.3.30", "starcoin-account-api", "starcoin-config", "starcoin-crypto", @@ -11127,17 +11178,17 @@ dependencies = [ "anyhow", "async-trait", "forkable-jellyfish-merkle", - "futures 0.3.26", + "futures 0.3.30", "futures-channel", "linked-hash-map", "log 0.4.17", "network-api", "parking_lot 0.12.1", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", - "serde 1.0.205", + "serde", "serde_derive", "starcoin-config", "starcoin-crypto", @@ -11171,7 +11222,7 @@ dependencies = [ "async-trait", "futures-channel", "schemars", - "serde 1.0.205", + "serde", "starcoin-crypto", "starcoin-types", ] @@ -11201,14 +11252,14 @@ dependencies = [ "bytes 1.6.1", "forkable-jellyfish-merkle", "hex", - "lazy_static 1.4.0", + "lazy_static", "num_enum", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "rand_core 0.6.4", "schemars", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", "starcoin-accumulator", @@ -11225,7 +11276,7 @@ version = "2.0.1" dependencies = [ "bcs-ext", "hex", - "serde 1.0.205", + "serde", "serde_json", "starcoin-crypto", "starcoin-types", @@ -11238,6 +11289,7 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", + "bytes 1.6.1", "hex", "move-binary-format", "move-bytecode-utils", @@ -11252,7 +11304,7 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "rayon", - "serde 1.0.205", + "serde", "starcoin-config", "starcoin-crypto", "starcoin-frameworks", @@ -11288,10 +11340,10 @@ dependencies = [ "num_enum", "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.3.0", "rand 0.8.5", "schemars", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", "starcoin-accumulator", @@ -11312,19 +11364,19 @@ version = "2.0.1" dependencies = [ "anyhow", "bcs-ext", - "clap 3.2.23", + "clap 4.5.16", "datatest-stable 0.1.3", "fs_extra", "include_dir", - "itertools", + "itertools 0.10.5", "log 0.4.17", "move-bytecode-verifier", "move-compiler", "move-prover", "once_cell", - "serde 1.0.205", + "serde", "sha2 0.10.6", - "simplelog 0.9.0", + "simplelog", "starcoin-crypto", "starcoin-framework", "starcoin-move-compiler", @@ -11340,7 +11392,7 @@ dependencies = [ "actix", "actix-rt", "anyhow", - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "starcoin-logger", "stest-macro", @@ -11378,7 +11430,7 @@ version = "2.0.1" dependencies = [ "anyhow", "async-std", - "futures 0.3.26", + "futures 0.3.30", "futures-retry", "futures-timer", "log 0.4.17", @@ -11386,7 +11438,7 @@ dependencies = [ "pin-project 0.4.30", "pin-utils", "schemars", - "serde 1.0.205", + "serde", "starcoin-logger", "stest", "thiserror", @@ -11418,14 +11470,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] -name = "structopt" -version = "0.2.18" +name = "strsim" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7" -dependencies = [ - "clap 2.34.0", - "structopt-derive 0.2.18", -] +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "structopt" @@ -11434,20 +11482,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" dependencies = [ "clap 2.34.0", - "lazy_static 1.4.0", - "structopt-derive 0.4.18", -] - -[[package]] -name = "structopt-derive" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107" -dependencies = [ - "heck 0.3.3", - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "lazy_static", + "structopt-derive", ] [[package]] @@ -11471,7 +11507,7 @@ checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" dependencies = [ "base64 0.13.1", "crc", - "lazy_static 1.4.0", + "lazy_static", "md-5", "rand 0.8.5", "ring", @@ -11594,7 +11630,7 @@ dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", "libc", - "ntapi 0.4.1", + "ntapi", "once_cell", "rayon", "winapi 0.3.9", @@ -11606,7 +11642,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "system-configuration-sys", ] @@ -11629,9 +11665,9 @@ checksum = "91a3cae256f8af5246c2daad51ff29c32de4b4b0b0222063920af445fa3e12ab" dependencies = [ "bytesize", "chrono", - "lazy_static 1.4.0", + "lazy_static", "libc", - "nom 7.1.3", + "nom", "winapi 0.3.9", ] @@ -11671,29 +11707,18 @@ dependencies = [ "chrono-tz", "globwalk 0.8.1", "humansize", - "lazy_static 1.4.0", + "lazy_static", "percent-encoding 2.2.0", "pest 2.5.5", "pest_derive 2.5.5", "rand 0.8.5", "regex", - "serde 1.0.205", + "serde", "serde_json", "slug", "unic-segment", ] -[[package]] -name = "term" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42" -dependencies = [ - "byteorder", - "dirs", - "winapi 0.3.9", -] - [[package]] name = "term" version = "0.7.0" @@ -11732,7 +11757,7 @@ dependencies = [ "async-trait", "backtrace", "bcs-ext", - "futures 0.3.26", + "futures 0.3.30", "futures-timer", "hex", "move-ir-compiler", @@ -11740,7 +11765,7 @@ dependencies = [ "network-p2p-core", "network-p2p-types", "rand 0.8.5", - "serde 1.0.205", + "serde", "serde_json", "starcoin-account-api", "starcoin-account-service", @@ -11787,13 +11812,13 @@ name = "testsuite" version = "2.0.1" dependencies = [ "anyhow", - "clap 3.2.23", + "clap 4.5.16", "cucumber_rust", "jpst", "jsonpath", "regex", "scmd", - "serde 1.0.205", + "serde", "serde_bytes", "serde_json", "starcoin-account-api", @@ -11926,7 +11951,7 @@ dependencies = [ "itoa", "libc", "num_threads", - "serde 1.0.205", + "serde", "time-core", "time-macros", ] @@ -11954,15 +11979,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "tint" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7af24570664a3074673dbbf69a65bdae0ae0b72f2949b1adfbacb736ee4d6896" -dependencies = [ - "lazy_static 0.2.11", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -11991,7 +12007,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" dependencies = [ - "serde 1.0.205", + "serde", "serde_json", ] @@ -12012,22 +12028,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.25.0" +version = "1.39.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" +checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" dependencies = [ - "autocfg 1.1.0", + "backtrace", "bytes 1.6.1", "libc", - "memchr", - "mio 0.8.6", - "num_cpus", + "mio 1.0.2", "parking_lot 0.12.1", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "signal-hook-registry", - "socket2", + "socket2 0.5.7", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys 0.52.0", ] [[package]] @@ -12058,7 +12072,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ee9ceecf69145923834ea73f32ba40c790fd877b74a7817dd0b089f1eb9c7c8" dependencies = [ "futures-util-preview", - "lazy_static 1.4.0", + "lazy_static", "tokio-sync 0.2.0-alpha.6", ] @@ -12075,13 +12089,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 1.0.107", + "syn 2.0.72", ] [[package]] @@ -12102,7 +12116,7 @@ checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" dependencies = [ "crossbeam-utils 0.7.2", "futures 0.1.31", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "mio 0.6.23", "num_cpus", @@ -12120,7 +12134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "tokio", ] @@ -12180,7 +12194,7 @@ dependencies = [ "futures-core", "futures-sink", "log 0.4.17", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "tokio", ] @@ -12194,7 +12208,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "tokio", "tracing", ] @@ -12205,19 +12219,41 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ - "serde 1.0.205", + "serde", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", ] [[package]] name = "toml_edit" -version = "0.14.4" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5376256e44f2443f8896ac012507c19a012df0fe8758b55246ae51a2279db51f" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "combine", - "indexmap", - "itertools", - "serde 1.0.205", + "indexmap 2.4.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", ] [[package]] @@ -12242,7 +12278,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.14", "tracing-attributes", "tracing-core", ] @@ -12278,8 +12314,8 @@ name = "transaction-builder-generator" version = "2.0.1" dependencies = [ "anyhow", - "bcs", - "clap 3.2.23", + "bcs 0.1.5", + "clap 4.5.16", "heck 0.3.3", "move-core-types", "regex", @@ -12303,6 +12339,16 @@ dependencies = [ "trace-time", ] +[[package]] +name = "triomphe" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" +dependencies = [ + "serde", + "stable_deref_trait", +] + [[package]] name = "trust-dns-proto" version = "0.22.0" @@ -12318,10 +12364,10 @@ dependencies = [ "futures-util", "idna 0.2.3", "ipnet", - "lazy_static 1.4.0", + "lazy_static", "rand 0.8.5", "smallvec 1.10.0", - "socket2", + "socket2 0.4.7", "thiserror", "tinyvec", "tokio", @@ -12338,7 +12384,7 @@ dependencies = [ "cfg-if 1.0.0", "futures-util", "ipconfig", - "lazy_static 1.4.0", + "lazy_static", "lru-cache", "parking_lot 0.12.1", "resolv-conf", @@ -12357,13 +12403,13 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tui" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ed0a32c88b039b73f1b6c5acbd0554bfa5b6be94467375fd947c4de3a02271" +checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cassowary", - "crossterm 0.22.1", + "crossterm 0.25.0", "unicode-segmentation", "unicode-width", ] @@ -12376,7 +12422,7 @@ checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" dependencies = [ "async-trait", "base64 0.13.1", - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "md-5", "rand 0.8.5", @@ -12545,7 +12591,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", "regex", ] @@ -12661,9 +12707,9 @@ dependencies = [ [[package]] name = "utf8parse" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -12724,7 +12770,7 @@ version = "2.0.1" dependencies = [ "anyhow", "schemars", - "serde 1.0.205", + "serde", "starcoin-move-explain", "starcoin-vm-types", ] @@ -12761,12 +12807,11 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", - "winapi 0.3.9", "winapi-util", ] @@ -12798,6 +12843,12 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + [[package]] name = "wasm-bindgen" version = "0.2.84" @@ -12870,7 +12921,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "js-sys", "parking_lot 0.11.2", "pin-utils", @@ -12929,7 +12980,7 @@ dependencies = [ "bytes 1.6.1", "hex", "interceptor", - "lazy_static 1.4.0", + "lazy_static", "log 0.4.17", "rand 0.8.5", "rcgen 0.9.3", @@ -12939,7 +12990,7 @@ dependencies = [ "rtp", "rustls 0.19.1", "sdp", - "serde 1.0.205", + "serde", "serde_json", "sha2 0.10.6", "stun", @@ -13002,7 +13053,7 @@ dependencies = [ "ring", "rustls 0.19.1", "sec1", - "serde 1.0.205", + "serde", "sha-1 0.9.8", "sha2 0.9.9", "signature", @@ -13026,7 +13077,7 @@ dependencies = [ "crc", "log 0.4.17", "rand 0.8.5", - "serde 1.0.205", + "serde", "serde_json", "stun", "thiserror", @@ -13046,7 +13097,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" dependencies = [ "log 0.4.17", - "socket2", + "socket2 0.4.7", "thiserror", "tokio", "webrtc-util", @@ -13116,11 +13167,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" dependencies = [ "async-trait", - "bitflags", + "bitflags 1.3.2", "bytes 1.6.1", "cc", "ipnet", - "lazy_static 1.4.0", + "lazy_static", "libc", "log 0.4.17", "nix 0.24.3", @@ -13158,7 +13209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e3810f0d00c4dccb54c30a4eee815e703232819dec7b007db115791c42aa374" dependencies = [ "base64 0.10.1", - "bitflags", + "bitflags 1.3.2", "byteorder", "bytes 0.4.12", "futures 0.1.31", @@ -13193,11 +13244,12 @@ dependencies = [ [[package]] name = "whoami" -version = "1.3.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45dbc71f0cdca27dc261a9bd37ddec174e4a0af2b900b890f378460f745426e3" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" dependencies = [ - "wasm-bindgen", + "redox_syscall 0.4.1", + "wasite", "web-sys", ] @@ -13296,6 +13348,15 @@ dependencies = [ "windows-targets 0.48.0", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.42.1" @@ -13326,6 +13387,22 @@ dependencies = [ "windows_x86_64_msvc 0.48.0", ] +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" @@ -13338,6 +13415,12 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + [[package]] name = "windows_aarch64_msvc" version = "0.34.0" @@ -13356,6 +13439,12 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + [[package]] name = "windows_i686_gnu" version = "0.34.0" @@ -13374,6 +13463,18 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + [[package]] name = "windows_i686_msvc" version = "0.34.0" @@ -13392,6 +13493,12 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + [[package]] name = "windows_x86_64_gnu" version = "0.34.0" @@ -13410,6 +13517,12 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.1" @@ -13422,6 +13535,12 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + [[package]] name = "windows_x86_64_msvc" version = "0.34.0" @@ -13440,6 +13559,21 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.10.1" @@ -13508,8 +13642,8 @@ dependencies = [ "base64 0.13.1", "data-encoding", "der-parser 7.0.0", - "lazy_static 1.4.0", - "nom 7.1.3", + "lazy_static", + "nom", "oid-registry 0.4.0", "ring", "rusticata-macros", @@ -13527,8 +13661,8 @@ dependencies = [ "base64 0.13.1", "data-encoding", "der-parser 8.1.0", - "lazy_static 1.4.0", - "nom 7.1.3", + "lazy_static", + "nom", "oid-registry 0.6.1", "rusticata-macros", "thiserror", @@ -13550,7 +13684,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" dependencies = [ - "futures 0.3.26", + "futures 0.3.30", "log 0.4.17", "nohash-hasher", "parking_lot 0.12.1", @@ -13567,6 +13701,26 @@ dependencies = [ "time 0.3.19", ] +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 2.0.72", +] + [[package]] name = "zeroize" version = "1.5.7" diff --git a/Cargo.toml b/Cargo.toml index f1f8ad52ce..23be2e0909 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -345,32 +345,32 @@ merkletree = { version = "0.22.1" } mirai-annotations = "1.10.1" # Move dependencies -move-binary-format = { path = "../aptos-core/third_party/move/move-binary-format" } -move-bytecode-source-map = { path = "../aptos-core/third_party/move/move-ir-compiler/move-bytecode-source-map" } -move-bytecode-verifier = { path = "../aptos-core/third_party/move/move-bytecode-verifier" } -move-bytecode-utils = { path = "../aptos-core/third_party/move/tools/move-bytecode-utils" } -move-cli = { path = "../aptos-core/third_party/move/tools/move-cli" } -move-command-line-common = { path = "../aptos-core/third_party/move/move-command-line-common" } -move-compiler = { path = "../aptos-core/third_party/move/move-compiler" } -move-core-types = { path = "../aptos-core/third_party/move/move-core/types", features = ["address16"] } -move-coverage = { path = "../aptos-core/third_party/move/tools/move-coverage" } -move-disassembler = { path = "../aptos-core/third_party/move/tools/move-disassembler" } -move-docgen = { path = "../aptos-core/third_party/move/move-prover/move-docgen" } -move-errmapgen = { path = "../aptos-core/third_party/move/move-prover/move-errmapgen" } -move-ir-compiler = { path = "../aptos-core/third_party/move/move-ir-compiler" } -move-ir-types = { path = "../aptos-core/third_party/move/move-ir/types" } -move-model = { path = "../aptos-core/third_party/move/move-model" } -move-package = { path = "../aptos-core/third_party/move/tools/move-package" } -move-prover = { path = "../aptos-core/third_party/move/move-prover" } -move-prover-test-utils = { path = "../aptos-core/third_party/move/move-prover/test-utils" } -move-resource-viewer = { path = "../aptos-core/third_party/move/tools/move-resource-viewer" } -move-stdlib = { path = "../aptos-core/third_party/move/move-stdlib" } -move-transactional-test-runner = { path = "../aptos-core/third_party/move/testing-infra/transactional-test-runner" } -move-unit-test = { path = "../aptos-core/third_party/move/tools/move-unit-test", features = ["table-extension"] } -move-vm-runtime = { path = "../aptos-core/third_party/move/move-vm/runtime" } -move-vm-types = { path = "../aptos-core/third_party/move/move-vm/types" } -move-table-extension = { path = "../aptos-core/third_party/move/extensions/move-table-extension" } -move-vm-test-utils = { path = "../aptos-core/third_party/move/move-vm/test-utils", features = ["table-extension"] } +move-binary-format = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-bytecode-source-map = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-bytecode-verifier = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-bytecode-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-cli = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-command-line-common = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-compiler = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-core-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", features = ["address16"] } +move-coverage = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-disassembler = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-docgen = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-errmapgen = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-ir-compiler = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-ir-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-model = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-package = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-prover = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-prover-test-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-resource-viewer = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-stdlib = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-transactional-test-runner = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-unit-test = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", features = ["table-extension"] } +move-vm-runtime = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-vm-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-table-extension = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} +move-vm-test-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", features = ["table-extension"] } names = { version = "0.14.0", default-features = false } network-api = { path = "network/api", package = "network-api" } @@ -457,7 +457,7 @@ starcoin-crypto = { git = "https://github.com/starcoinorg/starcoin-crypto", rev starcoin-decrypt = { path = "commons/decrypt" } starcoin-dev = { path = "vm/dev" } starcoin-executor = { path = "executor" } -starcoin-framework = { git = "https://github.com/starcoinorg/starcoin-framework", rev = "94bcd77e80232b169cf95754ef4e87775645afcd" } +starcoin-framework = { git = "https://github.com/starcoinorg/starcoin-framework", rev = "e804cfaead592b5318a5b75fc1239c192926b7fa" } starcoin-genesis = { path = "genesis" } starcoin-logger = { path = "commons/logger" } starcoin-metrics = { path = "commons/metrics" } @@ -538,7 +538,7 @@ unsigned-varint = { version = "0.6.0", features = [ "futures", "asynchronous_codec", ] } -vm = { path = "../aptos-core/third_party/move/move-binary-format", package = "move-binary-format", features = ["fuzzing"] } +vm = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", package = "move-binary-format", features = ["fuzzing"] } vm-status-translator = { path = "vm/vm-status-translator" } void = "1.0.2" walkdir = "2.3.1" diff --git a/vm/compiler/src/lib.rs b/vm/compiler/src/lib.rs index 7c9daa76f2..7f0cb4ef13 100644 --- a/vm/compiler/src/lib.rs +++ b/vm/compiler/src/lib.rs @@ -51,6 +51,7 @@ pub fn starcoin_framework_named_addresses() -> BTreeMapg5=6it(Uq|@)JFbFmeX%-VH&GcgiXxZS#FRdllt{kTt#KLv$=j4H7d!C=u zhE4Xc8s(RuN-X#RY!DI~c5K-43s`cWpPhuRV*9;w?mg$++n+D~zMX6>Rpj5UX51>e zraFps*}KMueT>>}7!rokgm^Td#7Ay~Xf$#|3O`vt8tJbj7$6#QpBw!<0xi`ku(e8SAbmP#lvKhahKB=PNXOnM*_s$s81GQYX$69Sz*^! zY-}KVKu|hPIT?!EQOtn`U{gRO=wUz@K^%_631O1MgZl3Yg6AM+L+Iz_U@|LyxnSAp z8A{K-0s*u((5O9Rk#`wMdCuTw02y)W0f&$L3@BnWq-jc{ezO#(DLN&O31vbvxB-X0 zBhkF40Ir2g(l=WjG+Zwnd=rjug>g6Axft(U#o2h@= zSS=ve4byfyX3tPtNLersq>nS^ky5N6&LV#@M|j;>D-hO{3)6zuF>1$=moY{nZwz)t zK}bE`gi^c#a#JwV^$&-!PlNH{1EZjNd1j7!)~FY#+lp>sMg7{rZ?&%7?d1MVW>xWl z%S9+;@0^Lefwmry0I(YhvN5PiQ=TruuNUz97VerotBnEwO6hf>{#VG9k?KRSU`Y(# zF(kZ)#{j*{Vm@(aSSM$VXQhN~#b{$)$7*xtK7_|3Fb_VuALqF$DlHv2J8Ntd*Xx>L zW6MzVPmmUI!Xh_BgfXa~IQ#~NWivlKsZ@4^U)uGJj>Xhr^#$rc%Ne9MkMuAJi5N5> zp4~ofY!y@+kk(s8)0GPyJ8~ij8&T=9w2p^kltu2yrJ;Ktk`~nD=lM;cjl*1YMmQ4& zXQ7YMIE1u`!GTmmzGtMTjn96n{#ISDA3YwQpSxc8ej|JOy{fJ5Zsc#`L<}+v>++;(i!bad0Wynqc8i6$X7DQB4n0f=B;^Mw$wcnEnI z5s!m#4-}^8M3^{?K^Y=7Nn4T{F2np)%T>08%T4i3&+dHjvD`p%Z;2NO@(ihs`mJ(f zZO?9KhKk=F2#v_&|29%VCF_Cltxo@_cb+d*B*YvbUwYGj>P_ffe)|YR)3#}K9UU8& z_LT$key!N;t43~ENTNP82Z0o#OZ*h}tMngsj~ljX1=PGV$oGvZ4d*0535!S6hm61q zyvsM}-9!v}v96nFn85~v<=4;Wi2)Z#{XJoEYq`Kam}$_}H5jA3kxz39xsnBR3LAjj zEg-ixbMqAs(i8FhB9;||Z=PPQf3Pyy$v@vy?#RwS5~<26(1Fx1a)O2Oh3@lz2KQn~ zrKQSiSSr|9babvCu#|Cuf$!51iJsK$_x0!dc@Y79B)*fxG~%ZxD@&E7>0i5VYT(lJ gU{9}s#8Yq2t}Vm+U-rJNt-$lYd*43&`JwylKUB&c6951J delta 31 ncmaDDw#|u&!CnXTO>K#{PD`9{u)42;o4W#9MVg(O+O`|G*D$-{jEzloWo+?}}4E z00@C7*-E9^Dr4Dd7jXkjA*@N*I*NEgo-K8^ybA1xG-jr0^aq3J?{)aF!$%=9jByXF z*dNB|L5wEB1qc*;&>;=lrEVNTKud|>DbTQ$U=q-etj(gT@?vRD%epRasNd$BtJa;BMY~uPO}fmRwl44H`KD^` zbZ6bFSmw9$^4zVO9yjZ}xM(laV$rUy^Lfwu?^NfT@;VxtoPAEJ ztLC!vOrK~UGLmLhT&(l9EOb+?SFLJp7L|`?-Y4?A?GBJ`dt`w@dEp^ri2&Ik3n|3t zI5tE#0+PreNJ5e`^+FQ~!VC$H)x-<%01iDGzSNCLK&^W`LB({MSB#EkPf#B1QcfQz zJw8RcWx?2Bz_l{iV#nyX9KSC29171X@Hyo*;AB4}@s|IEKi=aT6}XlaC*AK$ZaHR? z%%*V2uCtjAkOBk71CAIPpJz6>s0P9FV75hrB|~r+12Z-4;_*BU_Av!nJ~LDA^h>5q z9&t^Y_*SM*2nY{JPl8Mn5?*F_z?Jomuv))Loli3NpWM&rvCwOE$_4n1GVpd96si8R wKIso>d^y$AsvTOT-?I?ROqtWmsK3K8E4CjMOFPB3+0)n!p4H0|7KTv#1@N40u>b%7 diff --git a/vm/stdlib/compiled/latest/stdlib/007_bcs.mv b/vm/stdlib/compiled/latest/stdlib/007_bcs.mv new file mode 100644 index 0000000000000000000000000000000000000000..657a21ff48be11ed646ec6c3ae8aa23eefadd57c GIT binary patch literal 104 zcmZ1|^O~EDfq{XIk%5VsiHDVslU-bv!$g3`g##$c$iT?Rz`(@71Z1#rGB7eTaxpO{ qB^UD-rxs-<=44i-roWB}C01T=z)fdK%;T@C>N literal 0 HcmV?d00001 diff --git a/vm/stdlib/compiled/latest/stdlib/008_fixed_point32.mv b/vm/stdlib/compiled/latest/stdlib/008_fixed_point32.mv new file mode 100644 index 0000000000000000000000000000000000000000..16b48bdb3885d09d4d292fa2c5290f020a797a46 GIT binary patch literal 888 zcmZuwU2YRW4EA_tb~ZDUKNQ*$6_GSlkq}awlJLX>LWpN>uv#@6w9+P9ElDXn@xT$d z0OBxQffp_ShX8vv4W+_LEZg5_kH_Qva`?+d0AK|mqLR@w{o;X1zl!)1cB0St(tbzn zf8bBq{1zb*g#kbi0FpgL25451ByAXoSv5dWQB8njt*OSAZt}OuhpZ~)GQE<^eC3y$Vx3e6j) zijXngDnw+AG#VBet6fa)VtQ+-&hM=RGAk4<$r)nbLRU`)CtkFm13fE-s_n#NaEeaM z&X`)C#TLLG0aFwdGN%@1ljkR16OZ$iRe@d;Ykj2Jx@%zUv{QXAt^5z;F!rbi4tObo z3_UtjBYkYt*h-_1)g%3wY$vC8XlLl`NID>spE&L~YJ=Oif~i(}rV6I=uEh6Sg08hI zex!_U7#!DG0h{$bTIA#d-8W+FaEiQPQ4}V^qlnm5!A0{I+EpDQy$L`&FhbFX$~mBm zHJ#w=VB;1(x`or{0CA7Hs#`jsQ?I+?5z5e&BU0nu^@Gtkxq**7v^|gEY=&7}oSB}N tTEvx@l2VjfTpXXD#+Q^|RFq#H4;2CGLIz+Hm|3_P1Q|t`7#W!u7yzdz599y< literal 0 HcmV?d00001 diff --git a/vm/stdlib/compiled/latest/stdlib/011_vector.mv b/vm/stdlib/compiled/latest/stdlib/011_vector.mv new file mode 100644 index 0000000000000000000000000000000000000000..23d4b17dd31a179248a45730a1c67eb91843434f GIT binary patch literal 1756 zcmZ`&U2+>m5T5Rt*`Jx+(T`=xb^?Vkj*FK(QhH2M4mpNOu@_r~EvZ&(n_PewiaP*R zT!0Jk#1S|Jm*DGJWlN^W)^1O4|9<^5zdrxRCrYV|6l?y4%x~1Uf6&jA{>eXb_Lu1= zf17WLpX~1$tVj_l#jHWKv7jbNL2V}Tgb+ogNe-Ghk>p;q&KID*44_3%IdHcBFpzK@ zgKMzKLv`7#>twOnRI97x{kpE#kFGuDclS+pxn4Dk*}GZw^i7k^A=+H@ppT>ysVOX-7Fe7#$z63`F6RwzO9<|%Eo`Q zeOzq3ka-*5H1+bX5CTEWfhF31NMo%yN;C%ekux2qJC1jpljV~)DQTv>@-!nRf*POb z`cqlx_!R8a>riONPM?}*);Z<)O>i_dW3R{)W$ZbDQ+&n+TieQWHV9|&iMD_GiIC6t zLr!)fJ%1`_7lq|s6jP^OMtIn)Gn3mA0aA7Dl;;b86wII7LtqB`E_m7lO12MUmenUf zejU2dQ_g|f;q&<9=7_Fvo{^MNfA}2=1akjcvSFS`f)*Cdv^3LNDXfT_Yn1HgsNfq(({Z9 zV*((XnSLc1<5OrmM5PsdZp8r%HMoF2dgQ zCz!rQ3Qym5NqC4D^fgN5Gqfm|V(DCdrzQ^IslO;r%?o=RXU6}X*;8XXLNq=Qkl0IE z1b$KhI$?Pv`G;+|nZb!oo*B#pD}gh%ax&&am}Ti+bErf+P#*CZs^eV+4(`~MGc>cv zrGchr52PkO-}9C6p^P(oQc6a86GjrL8!#ql52aCtCs?r~sbGQ%X2};Ou}9B Di*}kv literal 0 HcmV?d00001 diff --git a/vm/stdlib/compiled/latest/stdlib/012_Vector.mv b/vm/stdlib/compiled/latest/stdlib/012_Vector.mv new file mode 100644 index 0000000000000000000000000000000000000000..1fd2dae4da28ddb9669f17aedf1a693389c58a36 GIT binary patch literal 1080 zcmZ`&&2G~`5Z;;n@p^ySq(n)93aJE%SMag?A2@O0gcPNX+eWmuWxFlCaNr?0aDppm zo`zT84LC7lM@fX#l{Gu_&FswXH{%}%f4mVwSP)98&*}?|^jBCUf8jgWZ*pLMN*8{~ z--=>Dpa2j;q9m!5CaFzA(pbh5pe(|glw|4{cg~aaA(9L`91|7mJAw7x$ngW*g+vSo zjO?)&x+>5`LKg`gK8!X(+>7_3jxK8J>?mU5QbC_ULsEiCMF&YpNMno;03Zc{+_cli zhhP;+nj=#(Ch27|mEB^n|IGXRq%CW6-EZ@%%8P|LF6+9yas4*CylU-9S+w(I(ZogG zv~_tq%P*_;R(H}ai$(rvR-W2r)8pnMFV5O?Tb0%9cz*IRt*)B$PBV3WSzhN!onPm5 zlc&wHIJ?N(vd~R+v20ayGp{_0SszH9*>@KXu@6-|2CXF?GVr3`bO1Z*i^l<7j=F+5b9l-)#y#QO8t(+LnP&CP6vXU+aT@ p7rB|LPph`lD*cwYrpzw0dcm|?`YnkWV$_4jHxUPH_QRB-_y?aoU>X1b literal 0 HcmV?d00001 diff --git a/vm/stdlib/compiled/latest/stdlib/008_Errors.mv b/vm/stdlib/compiled/latest/stdlib/013_Errors.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/008_Errors.mv rename to vm/stdlib/compiled/latest/stdlib/013_Errors.mv diff --git a/vm/stdlib/compiled/latest/stdlib/009_ACL.mv b/vm/stdlib/compiled/latest/stdlib/014_ACL.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/009_ACL.mv rename to vm/stdlib/compiled/latest/stdlib/014_ACL.mv diff --git a/vm/stdlib/compiled/latest/stdlib/010_Signer.mv b/vm/stdlib/compiled/latest/stdlib/015_Signer.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/010_Signer.mv rename to vm/stdlib/compiled/latest/stdlib/015_Signer.mv diff --git a/vm/stdlib/compiled/latest/stdlib/011_Math.mv b/vm/stdlib/compiled/latest/stdlib/016_Math.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/011_Math.mv rename to vm/stdlib/compiled/latest/stdlib/016_Math.mv diff --git a/vm/stdlib/compiled/latest/stdlib/012_BCS.mv b/vm/stdlib/compiled/latest/stdlib/017_BCS.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/012_BCS.mv rename to vm/stdlib/compiled/latest/stdlib/017_BCS.mv diff --git a/vm/stdlib/compiled/latest/stdlib/013_Event.mv b/vm/stdlib/compiled/latest/stdlib/018_Event.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/013_Event.mv rename to vm/stdlib/compiled/latest/stdlib/018_Event.mv diff --git a/vm/stdlib/compiled/latest/stdlib/014_Token.mv b/vm/stdlib/compiled/latest/stdlib/019_Token.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/014_Token.mv rename to vm/stdlib/compiled/latest/stdlib/019_Token.mv diff --git a/vm/stdlib/compiled/latest/stdlib/015_CoreAddresses.mv b/vm/stdlib/compiled/latest/stdlib/020_CoreAddresses.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/015_CoreAddresses.mv rename to vm/stdlib/compiled/latest/stdlib/020_CoreAddresses.mv diff --git a/vm/stdlib/compiled/latest/stdlib/016_Timestamp.mv b/vm/stdlib/compiled/latest/stdlib/021_Timestamp.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/016_Timestamp.mv rename to vm/stdlib/compiled/latest/stdlib/021_Timestamp.mv diff --git a/vm/stdlib/compiled/latest/stdlib/017_Option.mv b/vm/stdlib/compiled/latest/stdlib/022_Option.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/017_Option.mv rename to vm/stdlib/compiled/latest/stdlib/022_Option.mv diff --git a/vm/stdlib/compiled/latest/stdlib/018_Config.mv b/vm/stdlib/compiled/latest/stdlib/023_Config.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/018_Config.mv rename to vm/stdlib/compiled/latest/stdlib/023_Config.mv diff --git a/vm/stdlib/compiled/latest/stdlib/019_ChainId.mv b/vm/stdlib/compiled/latest/stdlib/024_ChainId.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/019_ChainId.mv rename to vm/stdlib/compiled/latest/stdlib/024_ChainId.mv diff --git a/vm/stdlib/compiled/latest/stdlib/020_VMConfig.mv b/vm/stdlib/compiled/latest/stdlib/025_VMConfig.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/020_VMConfig.mv rename to vm/stdlib/compiled/latest/stdlib/025_VMConfig.mv diff --git a/vm/stdlib/compiled/latest/stdlib/021_Version.mv b/vm/stdlib/compiled/latest/stdlib/026_Version.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/021_Version.mv rename to vm/stdlib/compiled/latest/stdlib/026_Version.mv diff --git a/vm/stdlib/compiled/latest/stdlib/022_PackageTxnManager.mv b/vm/stdlib/compiled/latest/stdlib/027_PackageTxnManager.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/022_PackageTxnManager.mv rename to vm/stdlib/compiled/latest/stdlib/027_PackageTxnManager.mv diff --git a/vm/stdlib/compiled/latest/stdlib/023_Treasury.mv b/vm/stdlib/compiled/latest/stdlib/028_Treasury.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/023_Treasury.mv rename to vm/stdlib/compiled/latest/stdlib/028_Treasury.mv diff --git a/vm/stdlib/compiled/latest/stdlib/024_Dao.mv b/vm/stdlib/compiled/latest/stdlib/029_Dao.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/024_Dao.mv rename to vm/stdlib/compiled/latest/stdlib/029_Dao.mv diff --git a/vm/stdlib/compiled/latest/stdlib/025_UpgradeModuleDaoProposal.mv b/vm/stdlib/compiled/latest/stdlib/030_UpgradeModuleDaoProposal.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/025_UpgradeModuleDaoProposal.mv rename to vm/stdlib/compiled/latest/stdlib/030_UpgradeModuleDaoProposal.mv diff --git a/vm/stdlib/compiled/latest/stdlib/026_TransactionTimeoutConfig.mv b/vm/stdlib/compiled/latest/stdlib/031_TransactionTimeoutConfig.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/026_TransactionTimeoutConfig.mv rename to vm/stdlib/compiled/latest/stdlib/031_TransactionTimeoutConfig.mv diff --git a/vm/stdlib/compiled/latest/stdlib/027_TransactionPublishOption.mv b/vm/stdlib/compiled/latest/stdlib/032_TransactionPublishOption.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/027_TransactionPublishOption.mv rename to vm/stdlib/compiled/latest/stdlib/032_TransactionPublishOption.mv diff --git a/vm/stdlib/compiled/latest/stdlib/028_RewardConfig.mv b/vm/stdlib/compiled/latest/stdlib/033_RewardConfig.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/028_RewardConfig.mv rename to vm/stdlib/compiled/latest/stdlib/033_RewardConfig.mv diff --git a/vm/stdlib/compiled/latest/stdlib/029_OnChainConfigDao.mv b/vm/stdlib/compiled/latest/stdlib/034_OnChainConfigDao.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/029_OnChainConfigDao.mv rename to vm/stdlib/compiled/latest/stdlib/034_OnChainConfigDao.mv diff --git a/vm/stdlib/compiled/latest/stdlib/030_ModifyDaoConfigProposal.mv b/vm/stdlib/compiled/latest/stdlib/035_ModifyDaoConfigProposal.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/030_ModifyDaoConfigProposal.mv rename to vm/stdlib/compiled/latest/stdlib/035_ModifyDaoConfigProposal.mv diff --git a/vm/stdlib/compiled/latest/stdlib/031_ConsensusConfig.mv b/vm/stdlib/compiled/latest/stdlib/036_ConsensusConfig.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/031_ConsensusConfig.mv rename to vm/stdlib/compiled/latest/stdlib/036_ConsensusConfig.mv diff --git a/vm/stdlib/compiled/latest/stdlib/032_STC.mv b/vm/stdlib/compiled/latest/stdlib/037_STC.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/032_STC.mv rename to vm/stdlib/compiled/latest/stdlib/037_STC.mv diff --git a/vm/stdlib/compiled/latest/stdlib/033_TransactionFee.mv b/vm/stdlib/compiled/latest/stdlib/038_TransactionFee.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/033_TransactionFee.mv rename to vm/stdlib/compiled/latest/stdlib/038_TransactionFee.mv diff --git a/vm/stdlib/compiled/latest/stdlib/034_Hash.mv b/vm/stdlib/compiled/latest/stdlib/039_Hash.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/034_Hash.mv rename to vm/stdlib/compiled/latest/stdlib/039_Hash.mv diff --git a/vm/stdlib/compiled/latest/stdlib/035_Authenticator.mv b/vm/stdlib/compiled/latest/stdlib/040_Authenticator.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/035_Authenticator.mv rename to vm/stdlib/compiled/latest/stdlib/040_Authenticator.mv diff --git a/vm/stdlib/compiled/latest/stdlib/036_Account.mv b/vm/stdlib/compiled/latest/stdlib/041_Account.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/036_Account.mv rename to vm/stdlib/compiled/latest/stdlib/041_Account.mv diff --git a/vm/stdlib/compiled/latest/stdlib/037_AccountScripts.mv b/vm/stdlib/compiled/latest/stdlib/042_AccountScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/037_AccountScripts.mv rename to vm/stdlib/compiled/latest/stdlib/042_AccountScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/038_Block.mv b/vm/stdlib/compiled/latest/stdlib/043_Block.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/038_Block.mv rename to vm/stdlib/compiled/latest/stdlib/043_Block.mv diff --git a/vm/stdlib/compiled/latest/stdlib/039_TreasuryWithdrawDaoProposal.mv b/vm/stdlib/compiled/latest/stdlib/044_TreasuryWithdrawDaoProposal.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/039_TreasuryWithdrawDaoProposal.mv rename to vm/stdlib/compiled/latest/stdlib/044_TreasuryWithdrawDaoProposal.mv diff --git a/vm/stdlib/compiled/latest/stdlib/040_BlockReward.mv b/vm/stdlib/compiled/latest/stdlib/045_BlockReward.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/040_BlockReward.mv rename to vm/stdlib/compiled/latest/stdlib/045_BlockReward.mv diff --git a/vm/stdlib/compiled/latest/stdlib/041_Collection.mv b/vm/stdlib/compiled/latest/stdlib/046_Collection.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/041_Collection.mv rename to vm/stdlib/compiled/latest/stdlib/046_Collection.mv diff --git a/vm/stdlib/compiled/latest/stdlib/042_Collection2.mv b/vm/stdlib/compiled/latest/stdlib/047_Collection2.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/042_Collection2.mv rename to vm/stdlib/compiled/latest/stdlib/047_Collection2.mv diff --git a/vm/stdlib/compiled/latest/stdlib/043_Compare.mv b/vm/stdlib/compiled/latest/stdlib/048_Compare.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/043_Compare.mv rename to vm/stdlib/compiled/latest/stdlib/048_Compare.mv diff --git a/vm/stdlib/compiled/latest/stdlib/044_ConsensusStrategy.mv b/vm/stdlib/compiled/latest/stdlib/049_ConsensusStrategy.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/044_ConsensusStrategy.mv rename to vm/stdlib/compiled/latest/stdlib/049_ConsensusStrategy.mv diff --git a/vm/stdlib/compiled/latest/stdlib/045_DaoVoteScripts.mv b/vm/stdlib/compiled/latest/stdlib/050_DaoVoteScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/045_DaoVoteScripts.mv rename to vm/stdlib/compiled/latest/stdlib/050_DaoVoteScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/046_DummyToken.mv b/vm/stdlib/compiled/latest/stdlib/051_DummyToken.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/046_DummyToken.mv rename to vm/stdlib/compiled/latest/stdlib/051_DummyToken.mv diff --git a/vm/stdlib/compiled/latest/stdlib/047_DummyTokenScripts.mv b/vm/stdlib/compiled/latest/stdlib/052_DummyTokenScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/047_DummyTokenScripts.mv rename to vm/stdlib/compiled/latest/stdlib/052_DummyTokenScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/048_EVMAddress.mv b/vm/stdlib/compiled/latest/stdlib/053_EVMAddress.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/048_EVMAddress.mv rename to vm/stdlib/compiled/latest/stdlib/053_EVMAddress.mv diff --git a/vm/stdlib/compiled/latest/stdlib/049_FlexiDagConfig.mv b/vm/stdlib/compiled/latest/stdlib/054_FlexiDagConfig.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/049_FlexiDagConfig.mv rename to vm/stdlib/compiled/latest/stdlib/054_FlexiDagConfig.mv diff --git a/vm/stdlib/compiled/latest/stdlib/050_Epoch.mv b/vm/stdlib/compiled/latest/stdlib/055_Epoch.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/050_Epoch.mv rename to vm/stdlib/compiled/latest/stdlib/055_Epoch.mv diff --git a/vm/stdlib/compiled/latest/stdlib/051_FixedPoint32.mv b/vm/stdlib/compiled/latest/stdlib/056_FixedPoint32.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/051_FixedPoint32.mv rename to vm/stdlib/compiled/latest/stdlib/056_FixedPoint32.mv diff --git a/vm/stdlib/compiled/latest/stdlib/052_FrozenConfig.mv b/vm/stdlib/compiled/latest/stdlib/057_FrozenConfig.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/052_FrozenConfig.mv rename to vm/stdlib/compiled/latest/stdlib/057_FrozenConfig.mv diff --git a/vm/stdlib/compiled/latest/stdlib/053_FrozenConfigStrategy.mv b/vm/stdlib/compiled/latest/stdlib/058_FrozenConfigStrategy.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/053_FrozenConfigStrategy.mv rename to vm/stdlib/compiled/latest/stdlib/058_FrozenConfigStrategy.mv diff --git a/vm/stdlib/compiled/latest/stdlib/054_GenesisSignerCapability.mv b/vm/stdlib/compiled/latest/stdlib/059_GenesisSignerCapability.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/054_GenesisSignerCapability.mv rename to vm/stdlib/compiled/latest/stdlib/059_GenesisSignerCapability.mv diff --git a/vm/stdlib/compiled/latest/stdlib/055_Oracle.mv b/vm/stdlib/compiled/latest/stdlib/060_Oracle.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/055_Oracle.mv rename to vm/stdlib/compiled/latest/stdlib/060_Oracle.mv diff --git a/vm/stdlib/compiled/latest/stdlib/056_PriceOracle.mv b/vm/stdlib/compiled/latest/stdlib/061_PriceOracle.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/056_PriceOracle.mv rename to vm/stdlib/compiled/latest/stdlib/061_PriceOracle.mv diff --git a/vm/stdlib/compiled/latest/stdlib/057_STCUSDOracle.mv b/vm/stdlib/compiled/latest/stdlib/062_STCUSDOracle.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/057_STCUSDOracle.mv rename to vm/stdlib/compiled/latest/stdlib/062_STCUSDOracle.mv diff --git a/vm/stdlib/compiled/latest/stdlib/058_Offer.mv b/vm/stdlib/compiled/latest/stdlib/063_Offer.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/058_Offer.mv rename to vm/stdlib/compiled/latest/stdlib/063_Offer.mv diff --git a/vm/stdlib/compiled/latest/stdlib/059_NFT.mv b/vm/stdlib/compiled/latest/stdlib/064_NFT.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/059_NFT.mv rename to vm/stdlib/compiled/latest/stdlib/064_NFT.mv diff --git a/vm/stdlib/compiled/latest/stdlib/060_LanguageVersion.mv b/vm/stdlib/compiled/latest/stdlib/065_LanguageVersion.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/060_LanguageVersion.mv rename to vm/stdlib/compiled/latest/stdlib/065_LanguageVersion.mv diff --git a/vm/stdlib/compiled/latest/stdlib/061_MerkleProof.mv b/vm/stdlib/compiled/latest/stdlib/066_MerkleProof.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/061_MerkleProof.mv rename to vm/stdlib/compiled/latest/stdlib/066_MerkleProof.mv diff --git a/vm/stdlib/compiled/latest/stdlib/062_MerkleNFTDistributor.mv b/vm/stdlib/compiled/latest/stdlib/067_MerkleNFTDistributor.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/062_MerkleNFTDistributor.mv rename to vm/stdlib/compiled/latest/stdlib/067_MerkleNFTDistributor.mv diff --git a/vm/stdlib/compiled/latest/stdlib/063_IdentifierNFT.mv b/vm/stdlib/compiled/latest/stdlib/068_IdentifierNFT.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/063_IdentifierNFT.mv rename to vm/stdlib/compiled/latest/stdlib/068_IdentifierNFT.mv diff --git a/vm/stdlib/compiled/latest/stdlib/064_GenesisNFT.mv b/vm/stdlib/compiled/latest/stdlib/069_GenesisNFT.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/064_GenesisNFT.mv rename to vm/stdlib/compiled/latest/stdlib/069_GenesisNFT.mv diff --git a/vm/stdlib/compiled/latest/stdlib/065_StdlibUpgradeScripts.mv b/vm/stdlib/compiled/latest/stdlib/070_StdlibUpgradeScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/065_StdlibUpgradeScripts.mv rename to vm/stdlib/compiled/latest/stdlib/070_StdlibUpgradeScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/066_Genesis.mv b/vm/stdlib/compiled/latest/stdlib/071_Genesis.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/066_Genesis.mv rename to vm/stdlib/compiled/latest/stdlib/071_Genesis.mv diff --git a/vm/stdlib/compiled/latest/stdlib/067_GenesisNFTScripts.mv b/vm/stdlib/compiled/latest/stdlib/072_GenesisNFTScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/067_GenesisNFTScripts.mv rename to vm/stdlib/compiled/latest/stdlib/072_GenesisNFTScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/068_IdentifierNFTScripts.mv b/vm/stdlib/compiled/latest/stdlib/073_IdentifierNFTScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/068_IdentifierNFTScripts.mv rename to vm/stdlib/compiled/latest/stdlib/073_IdentifierNFTScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/069_MintDaoProposal.mv b/vm/stdlib/compiled/latest/stdlib/074_MintDaoProposal.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/069_MintDaoProposal.mv rename to vm/stdlib/compiled/latest/stdlib/074_MintDaoProposal.mv diff --git a/vm/stdlib/compiled/latest/stdlib/070_ModuleUpgradeScripts.mv b/vm/stdlib/compiled/latest/stdlib/075_ModuleUpgradeScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/070_ModuleUpgradeScripts.mv rename to vm/stdlib/compiled/latest/stdlib/075_ModuleUpgradeScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/071_NFTGallery.mv b/vm/stdlib/compiled/latest/stdlib/076_NFTGallery.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/071_NFTGallery.mv rename to vm/stdlib/compiled/latest/stdlib/076_NFTGallery.mv diff --git a/vm/stdlib/compiled/latest/stdlib/072_NFTGalleryScripts.mv b/vm/stdlib/compiled/latest/stdlib/077_NFTGalleryScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/072_NFTGalleryScripts.mv rename to vm/stdlib/compiled/latest/stdlib/077_NFTGalleryScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/073_OnChainConfigScripts.mv b/vm/stdlib/compiled/latest/stdlib/078_OnChainConfigScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/073_OnChainConfigScripts.mv rename to vm/stdlib/compiled/latest/stdlib/078_OnChainConfigScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/074_PriceOracleAggregator.mv b/vm/stdlib/compiled/latest/stdlib/079_PriceOracleAggregator.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/074_PriceOracleAggregator.mv rename to vm/stdlib/compiled/latest/stdlib/079_PriceOracleAggregator.mv diff --git a/vm/stdlib/compiled/latest/stdlib/075_PriceOracleScripts.mv b/vm/stdlib/compiled/latest/stdlib/080_PriceOracleScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/075_PriceOracleScripts.mv rename to vm/stdlib/compiled/latest/stdlib/080_PriceOracleScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/076_Signature.mv b/vm/stdlib/compiled/latest/stdlib/081_Signature.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/076_Signature.mv rename to vm/stdlib/compiled/latest/stdlib/081_Signature.mv diff --git a/vm/stdlib/compiled/latest/stdlib/077_SharedEd25519PublicKey.mv b/vm/stdlib/compiled/latest/stdlib/082_SharedEd25519PublicKey.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/077_SharedEd25519PublicKey.mv rename to vm/stdlib/compiled/latest/stdlib/082_SharedEd25519PublicKey.mv diff --git a/vm/stdlib/compiled/latest/stdlib/078_TransactionTimeout.mv b/vm/stdlib/compiled/latest/stdlib/083_TransactionTimeout.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/078_TransactionTimeout.mv rename to vm/stdlib/compiled/latest/stdlib/083_TransactionTimeout.mv diff --git a/vm/stdlib/compiled/latest/stdlib/079_TransactionManager.mv b/vm/stdlib/compiled/latest/stdlib/084_TransactionManager.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/079_TransactionManager.mv rename to vm/stdlib/compiled/latest/stdlib/084_TransactionManager.mv diff --git a/vm/stdlib/compiled/latest/stdlib/080_TransferScripts.mv b/vm/stdlib/compiled/latest/stdlib/085_TransferScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/080_TransferScripts.mv rename to vm/stdlib/compiled/latest/stdlib/085_TransferScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/081_TreasuryScripts.mv b/vm/stdlib/compiled/latest/stdlib/086_TreasuryScripts.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/081_TreasuryScripts.mv rename to vm/stdlib/compiled/latest/stdlib/086_TreasuryScripts.mv diff --git a/vm/stdlib/compiled/latest/stdlib/082_Arith.mv b/vm/stdlib/compiled/latest/stdlib/087_Arith.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/082_Arith.mv rename to vm/stdlib/compiled/latest/stdlib/087_Arith.mv diff --git a/vm/stdlib/compiled/latest/stdlib/083_U256.mv b/vm/stdlib/compiled/latest/stdlib/088_U256.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/083_U256.mv rename to vm/stdlib/compiled/latest/stdlib/088_U256.mv diff --git a/vm/stdlib/compiled/latest/stdlib/084_YieldFarming.mv b/vm/stdlib/compiled/latest/stdlib/089_YieldFarming.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/084_YieldFarming.mv rename to vm/stdlib/compiled/latest/stdlib/089_YieldFarming.mv diff --git a/vm/stdlib/compiled/latest/stdlib/085_YieldFarmingV2.mv b/vm/stdlib/compiled/latest/stdlib/090_YieldFarmingV2.mv similarity index 100% rename from vm/stdlib/compiled/latest/stdlib/085_YieldFarmingV2.mv rename to vm/stdlib/compiled/latest/stdlib/090_YieldFarmingV2.mv diff --git a/vm/stdlib/compiled/latest/stdlib/091_error.mv b/vm/stdlib/compiled/latest/stdlib/091_error.mv new file mode 100644 index 0000000000000000000000000000000000000000..53b98bf71203294aaaf03360e0d8fdfc4ca2dbdf GIT binary patch literal 610 zcmYk4O-{ow5QY7dAE!xa%YqemKpX+F;uMkFOj}E-T{%t#JH!bPH(<>HI24y)W-KHu z`RRSO$H~0p^Y*8$gb=k9N~?$Rv8tcGrFm8B>Rr9b?n8e`+@>iMi6&c+D@mwU)Fg(a zAz6^LBpt~Tr_@SoQ9_I%)^;0Wg5k=J5$y2N!?T;x)a0F9pO$|MQ?dyfA5y;$vmaLE-03_5or0kYbLzvskJcYxbB1_w)8vBh2k;Jt>j+br z;|}oAM>|hgv6{V|(-Euj4Uk*pi*=*jjzCTP8&Vr?7?-r+uGw+d?6`Gy92+~0N<$k? zj2)-Lj+14_p|ayB*>T$JC`ul9u_|f|d83rfAQ==v)r$M|T`O-CeJwnwd9TP&Fq9ce jhAIQr;eGfkP)*HXG8l#?L&LDhuwZC2v8Up@!-vnwjvN12VgY< zCUrsvz@Y{3LsgtXz~DVlbU^_ha|9MAUdVZ1ZBdVi+AfSt5;Bks(2%epy_^CD^%Tn$ zr?zcc*`#IPwC4Ke&J<-iD!MMU{bJeFeNok&-vyl3PyMU3Y29p+T~%E_uIf#(s>(&t zK0dEg-TSI8)61fHP%`_5#_v+&mDaxzW`Va|NU-O_fj%AVn-Rsf2pxf=J7STTckVVO82qx>DGRt_!>l55gnx zB%CX8L1Mflu&R(4X}$CFdB)#2U+#bR1^^ra5ou)#KA72)_t{t6G2d|RZZHc!@rN4R zuofIz00IP1qyRL?!Ac5-rHf5RCI^`e6e7wG6=pzIVjw4hMWZY#rL05uu8!r$>MUMf z?m2Et|igmLpPorw8PfCie zy{MP5TvyA;*Nr6dG-6p->vMU0-%w?VNivlQ`Hd%(HlA?&ZA41tqK_oZNFEJ4u)soF z_CCom^OEp*gk!=4(J5XaQ4;B(!{fLIcNl2yNZO?IK2IDt8o^XQkaqmgli5zb8;A#< zJnm6fQc|#w9i)AA_DC~Zi!%q73LW^4_S+aV&4oJWYrNm%rVR+t-DMAq4w(HamN`z+fCZlctWHbu714?$yL|k0SHX zTjVz)i*|aW$}v9?Rdk?3FVg6zDR8(q()?`e8n1g@G>a}GsA$z|^O{c*d~_T8QsnGp M{twkWQB8Y?Uk-#w2><{9 literal 0 HcmV?d00001 diff --git a/vm/stdlib/compiled/latest/stdlib/094_option.mv b/vm/stdlib/compiled/latest/stdlib/094_option.mv new file mode 100644 index 0000000000000000000000000000000000000000..48244bcce9952a9de679fde41fb39182b39c1563 GIT binary patch literal 1178 zcmZuxJ8u**5S|%(ZLjU!+j|5WglG_5N?53Pg_fUiI+9H|>FzeV+Yr(qQ9(;XhXlWX z4)IeEH64F~8E>8$1~&ce!KNI7yu{`G-;#!JN*&M>@$8q`-T3Xd#@|=N#FM0 zwGBTs#h?1CE`B*Ge>>uR2xO7D0%WF1G0n8dMrTZ|5w|mrX`VYI@Fa5ZVvoTvEuupO zB?x|yXl2DdbV5g7@MACX!~_JqQ8E(EKK18&C)dVFTqLCM%}i%}g|vVkIJ~X%D-3yE1Q@-L74mm%a9? zU9a0?-?QoRs2iV($Mf#>bg$W;9W6Sy+pfCVe6@*t&8AzoC(~8CYR;8SyKE+Bp3D1e z^R`>hc00X4Uo71Ix?N8B^y;ALrdMF|O$un4ODrwXb&@v6v%@H4+ODS(#dNL2Q2aTD zH_OBBB;U+e2aBd_SA6l87b?dykSvNX?M$Lm2?)2iG2nP=z!n~A&^mM6F^l&CJOCNQ zw4OSW5wfL+Z3bmoeg?XK0ea?$7*vd9YgAsH zXZR9o#d#PDoWvt|!8P=YWFV`G{gNjSa`HziXvakibb$;=GM?2y0z_4)ZO+A~M2bQ& zS`L?im#Y7(Xvd`|F{}dIhe)1ex65K6l$_SDVaP;;bG5dG?P+ z*R`U$(uYaPg&z%AE$A94ijulg;~nBZ0a*3;ybBz=JVn=sZ`$u(uj6{J#?B+La@ ljGSzxqO{kkC3VJkQ+mDQY9on66?8%?8m4olf%0E*@DDepe|P`@ literal 0 HcmV?d00001 diff --git a/vm/stdlib/compiled/latest/stdlib/095_string.mv b/vm/stdlib/compiled/latest/stdlib/095_string.mv new file mode 100644 index 0000000000000000000000000000000000000000..6be40110c9ebf78be150e12c801354a9dcc7e97f GIT binary patch literal 907 zcmYjP&2AGh5T5bBJ>JbaNl`&u5Gs{8L>zPN6L8>8l(yS8qTP*lw^j2vJPMD1kaz=5 zm3Rim8)&fB+2^n06+*vm>{dqs&V?^(f-CC=)TFye3$d^OPcs3pG5J~ z2qq&4kQT7A$UDV*(1MMT3cza4=W@g=2M|1ODX?qwJ9@!(j%>?nQdMOtg>}Fu^AZFa2WWy2yk=KQhB+}J|3d!qlyWr49&@BbjuU1p zgbkjBf#Z{zl~YSj=s_dq#1j2T_F(#<+cejv-42_!F%R{{(01n29$as?b#qDkWpzJX zE%o_ssC&0*F6+ltdu29FUw6Z7(+qXjtZ!ErH}%Drk(r*cf8>`3q-Wx~Tb;M}&E>k= z9nSan=c~OUx9L~)-FDcS+q$_PZo(mCK8|AD(Cx;nR92??_O4b<+tggL{|8E!Ynq4T z$NxL{jf2RAMN2S&5-XT5L2!)#HF3M7B7w+7M@ditKN-6wyTsgNgkoU23=BjYFxa!| zL>0ttvQg?p7JZZ?)m$GF-vXxr7AeFKAYfFB+?3-Wl_>haX(>b#^@21RhFsxEBw*_j zkS9128U+~cP0Q2q^jVY2nwBWS^X9A)-0m>{kR#Cqb5^lLLH0yVSgAP4`u5_EgBb-Y z{mMs0O1)t~@E>UX)<;cRz0>c>Wcg%Rp-65DB69W#H+9m=5lmsphz?5`xdBCyb@(x; Mw6S=a8My*~0C0?KXaE2J literal 0 HcmV?d00001 From e448eaa5f64dc2e4a7c612e299c10eb069e96520 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Thu, 5 Sep 2024 18:35:33 +0800 Subject: [PATCH 28/28] introduce aptos-vm 1. upgrade rust-toolchain to 1.79.0 2. patching some deps --- Cargo.lock | 3455 ++++++++++++++++++++++++++++++++++++------- Cargo.toml | 64 +- executor/Cargo.toml | 1 + rust-toolchain.toml | 2 +- 4 files changed, 2948 insertions(+), 574 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 121b0aae45..84e7a3259f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,7 +11,7 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" [[package]] name = "abstract-domain-derive" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", @@ -33,11 +33,11 @@ dependencies = [ "futures-sink", "futures-task", "futures-util", - "log 0.4.17", + "log 0.4.22", "once_cell", "parking_lot 0.12.1", "pin-project-lite 0.2.14", - "smallvec 1.10.0", + "smallvec 1.13.2", "tokio", "tokio-util 0.7.7", ] @@ -74,6 +74,17 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "addchain" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2e69442aa5628ea6951fa33e24efe8313f4321a91bd729fc2f75bdfc858570" +dependencies = [ + "num-bigint 0.3.3", + "num-integer", + "num-traits", +] + [[package]] name = "addr2line" version = "0.19.0" @@ -95,7 +106,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -104,10 +115,20 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "rand_core 0.6.4", ] +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + [[package]] name = "aes" version = "0.6.0" @@ -131,6 +152,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.4.4", + "cpufeatures", +] + [[package]] name = "aes-gcm" version = "0.8.0" @@ -159,6 +191,20 @@ dependencies = [ "subtle", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead 0.5.2", + "aes 0.8.4", + "cipher 0.4.4", + "ctr 0.9.2", + "ghash 0.5.1", + "subtle", +] + [[package]] name = "aes-soft" version = "0.6.4" @@ -185,7 +231,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.15", "once_cell", "version_check 0.9.4", ] @@ -197,7 +243,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if 1.0.0", - "getrandom 0.2.8", + "getrandom 0.2.15", "once_cell", "version_check 0.9.4", "zerocopy", @@ -258,6 +304,12 @@ version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -292,68 +344,902 @@ dependencies = [ ] [[package]] -name = "anstyle" -version = "1.0.8" +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "api-limiter" +version = "2.0.1" +dependencies = [ + "anyhow", + "dashmap", + "governor", +] + +[[package]] +name = "aptos-aggregator" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-logger", + "aptos-types", + "bcs 0.1.4", + "claims", + "move-binary-format", + "move-core-types", + "move-vm-types", +] + +[[package]] +name = "aptos-bitvec" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "serde", + "serde_bytes", +] + +[[package]] +name = "aptos-block-executor" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-drop-helper", + "aptos-infallible", + "aptos-logger", + "aptos-mvhashmap", + "aptos-types", + "aptos-vm-logging", + "aptos-vm-types", + "arc-swap", + "bcs 0.1.4", + "bytes 1.6.1", + "claims", + "concurrent-queue", + "crossbeam", + "dashmap", + "derivative", + "fail", + "move-binary-format", + "move-core-types", + "move-vm-types", + "num_cpus", + "once_cell", + "parking_lot 0.12.1", + "rand 0.7.3", + "rayon", + "scopeguard", +] + +[[package]] +name = "aptos-block-partitioner" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-crypto", + "aptos-logger", + "aptos-types", + "bcs 0.1.4", + "clap 4.5.16", + "dashmap", + "itertools 0.13.0", + "jemallocator", + "move-core-types", + "once_cell", + "rand 0.7.3", + "rayon", + "serde", +] + +[[package]] +name = "aptos-crypto" +version = "0.0.3" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aes-gcm 0.10.3", + "anyhow", + "aptos-crypto-derive", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-groth16", + "ark-std", + "base64 0.13.1", + "bcs 0.1.4", + "blst", + "bulletproofs", + "bytes 1.6.1", + "curve25519-dalek 3.2.0", + "curve25519-dalek-ng", + "digest 0.9.0", + "ed25519-dalek", + "ff 0.13.0", + "hex", + "hkdf 0.10.0", + "libsecp256k1", + "merlin", + "more-asserts", + "neptune", + "num-bigint 0.3.3", + "num-integer", + "once_cell", + "p256 0.13.2", + "poseidon-ark", + "rand 0.7.3", + "rand_core 0.5.1", + "ring 0.16.20", + "serde", + "serde-name 0.1.2", + "serde_bytes", + "sha2 0.10.6", + "sha2 0.9.9", + "sha3", + "signature 2.2.0", + "static_assertions", + "thiserror", + "tiny-keccak", + "typenum", + "x25519-dalek 1.2.0", +] + +[[package]] +name = "aptos-crypto-derive" +version = "0.0.3" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", +] + +[[package]] +name = "aptos-dkg" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-runtimes", + "bcs 0.1.4", + "blst", + "blstrs", + "criterion", + "ff 0.13.0", + "group 0.13.0", + "hex", + "merlin", + "more-asserts", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "once_cell", + "pairing", + "rand 0.7.3", + "rand_core 0.5.1", + "rayon", + "serde", + "serde_bytes", + "sha3", + "static_assertions", +] + +[[package]] +name = "aptos-drop-helper" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-infallible", + "once_cell", + "threadpool", +] + +[[package]] +name = "aptos-experimental-runtimes" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-runtimes", + "core_affinity", + "libc", + "num_cpus", + "once_cell", + "rayon", +] + +[[package]] +name = "aptos-framework" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-crypto", + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-move-stdlib", + "aptos-native-interface", + "aptos-sdk-builder", + "aptos-types", + "aptos-vm-types", + "ark-bls12-381", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "bcs 0.1.4", + "better_any", + "blake2-rfc", + "bulletproofs", + "byteorder", + "clap 4.5.16", + "codespan-reporting", + "curve25519-dalek-ng", + "either", + "flate2", + "hex", + "itertools 0.13.0", + "libsecp256k1", + "log 0.4.22", + "lru 0.7.8", + "merlin", + "move-binary-format", + "move-cli", + "move-command-line-common", + "move-compiler", + "move-core-types", + "move-docgen", + "move-model", + "move-package", + "move-prover", + "move-prover-boogie-backend", + "move-prover-bytecode-pipeline", + "move-stackless-bytecode", + "move-vm-runtime", + "move-vm-types", + "num-traits", + "once_cell", + "rand 0.7.3", + "rand_core 0.5.1", + "ripemd", + "serde", + "serde_bytes", + "sha2 0.10.6", + "sha2 0.9.9", + "sha3", + "siphasher", + "smallvec 1.13.2", + "tempfile", + "thiserror", + "tiny-keccak", +] + +[[package]] +name = "aptos-gas-algebra" +version = "0.0.1" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "either", + "move-core-types", +] + +[[package]] +name = "aptos-gas-meter" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-logger", + "aptos-types", + "aptos-vm-types", + "move-binary-format", + "move-core-types", + "move-vm-types", +] + +[[package]] +name = "aptos-gas-schedule" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-gas-algebra", + "aptos-global-constants", + "move-core-types", + "move-vm-types", + "paste", + "rand 0.7.3", +] + +[[package]] +name = "aptos-global-constants" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" + +[[package]] +name = "aptos-infallible" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" + +[[package]] +name = "aptos-log-derive" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", +] + +[[package]] +name = "aptos-logger" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-infallible", + "aptos-log-derive", + "aptos-node-identity", + "backtrace", + "chrono", + "erased-serde", + "futures 0.3.30", + "hostname", + "once_cell", + "prometheus", + "serde", + "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "aptos-memory-usage-tracker" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-types", + "move-binary-format", + "move-core-types", + "move-vm-types", +] + +[[package]] +name = "aptos-move-stdlib" +version = "0.1.1" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-gas-schedule", + "aptos-native-interface", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "sha2 0.9.9", + "sha3", + "smallvec 1.13.2", +] + +[[package]] +name = "aptos-mvhashmap" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-crypto", + "aptos-types", + "aptos-vm-types", + "bytes 1.6.1", + "claims", + "crossbeam", + "dashmap", + "derivative", + "move-binary-format", + "move-core-types", + "move-vm-types", + "serde", +] + +[[package]] +name = "aptos-native-interface" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-types", + "bcs 0.1.4", + "bytes 1.6.1", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "smallvec 1.13.2", +] + +[[package]] +name = "aptos-node-identity" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-types", + "claims", + "once_cell", +] + +[[package]] +name = "aptos-runtimes" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "rayon", + "tokio", +] + +[[package]] +name = "aptos-sdk-builder" +version = "0.2.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-types", + "bcs 0.1.4", + "clap 4.5.16", + "heck 0.4.1", + "move-core-types", + "once_cell", + "serde-generate 0.20.6", + "serde-reflection 0.3.5", + "serde_yaml 0.8.26", + "textwrap 0.15.2", +] + +[[package]] +name = "aptos-speculative-state-helper" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-infallible", + "crossbeam", + "rayon", +] + +[[package]] +name = "aptos-table-natives" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-gas-schedule", + "aptos-native-interface", + "better_any", + "bytes 1.6.1", + "move-binary-format", + "move-core-types", + "move-table-extension", + "move-vm-runtime", + "move-vm-types", + "sha3", + "smallvec 1.13.2", +] + +[[package]] +name = "aptos-types" +version = "0.0.3" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-bitvec", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-dkg", + "aptos-experimental-runtimes", + "aptos-infallible", + "ark-bn254", + "ark-ff", + "ark-groth16", + "ark-serialize", + "arr_macro", + "base64 0.13.1", + "bcs 0.1.4", + "bytes 1.6.1", + "fixed", + "fxhash", + "hashbrown 0.14.5", + "hex", + "itertools 0.13.0", + "jsonwebtoken", + "move-binary-format", + "move-bytecode-verifier", + "move-core-types", + "move-table-extension", + "move-vm-runtime", + "move-vm-types", + "num-bigint 0.3.3", + "num-derive", + "num-traits", + "once_cell", + "passkey-types", + "poem-openapi", + "poem-openapi-derive", + "quick_cache", + "rand 0.7.3", + "rayon", + "ring 0.16.20", + "rsa", + "serde", + "serde-big-array", + "serde_bytes", + "serde_json", + "serde_with", + "serde_yaml 0.8.26", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", +] + +[[package]] +name = "aptos-utils" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" + +[[package]] +name = "aptos-vm" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-block-executor", + "aptos-block-partitioner", + "aptos-crypto", + "aptos-crypto-derive", + "aptos-experimental-runtimes", + "aptos-framework", + "aptos-gas-algebra", + "aptos-gas-meter", + "aptos-gas-schedule", + "aptos-infallible", + "aptos-logger", + "aptos-memory-usage-tracker", + "aptos-move-stdlib", + "aptos-mvhashmap", + "aptos-native-interface", + "aptos-table-natives", + "aptos-types", + "aptos-utils", + "aptos-vm-logging", + "aptos-vm-types", + "ark-bn254", + "ark-groth16", + "bcs 0.1.4", + "bytes 1.6.1", + "claims", + "crossbeam-channel", + "derive_more", + "fail", + "futures 0.3.30", + "hex", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "num_cpus", + "once_cell", + "ouroboros", + "rand 0.7.3", + "rayon", + "serde", +] + +[[package]] +name = "aptos-vm-logging" +version = "0.1.0" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "aptos-crypto", + "aptos-logger", + "aptos-speculative-state-helper", + "aptos-types", + "arc-swap", + "once_cell", + "serde", +] + +[[package]] +name = "aptos-vm-types" +version = "0.0.1" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" +dependencies = [ + "anyhow", + "aptos-aggregator", + "aptos-gas-algebra", + "aptos-gas-schedule", + "aptos-types", + "bcs 0.1.4", + "bytes 1.6.1", + "claims", + "either", + "move-binary-format", + "move-core-types", + "move-vm-runtime", + "move-vm-types", + "rand 0.7.3", + "serde", +] + +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +dependencies = [ + "derive_arbitrary", +] + +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] +name = "ark-bls12-381" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-crypto-primitives" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-snark", + "ark-std", + "blake2", + "derivative", + "digest 0.10.7", + "rayon", + "sha2 0.10.6", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools 0.10.5", + "num-traits", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint 0.4.3", + "num-traits", + "paste", + "rayon", + "rustc_version 0.4.0", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote 1.0.36", + "syn 1.0.107", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.3", + "num-traits", + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", +] + +[[package]] +name = "ark-groth16" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +dependencies = [ + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-relations", + "ark-serialize", + "ark-std", + "rayon", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "rayon", +] + +[[package]] +name = "ark-relations" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +dependencies = [ + "ark-ff", + "ark-std", + "tracing", + "tracing-subscriber 0.2.25", +] [[package]] -name = "anstyle-parse" -version = "0.2.5" +name = "ark-serialize" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "utf8parse", + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint 0.4.3", ] [[package]] -name = "anstyle-query" -version = "1.1.1" +name = "ark-serialize-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "windows-sys 0.52.0", + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", ] [[package]] -name = "anstyle-wincon" -version = "3.0.4" +name = "ark-snark" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" dependencies = [ - "anstyle", - "windows-sys 0.52.0", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", ] [[package]] -name = "anyhow" -version = "1.0.86" +name = "ark-std" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "api-limiter" -version = "2.0.1" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ - "anyhow", - "dashmap", - "governor", + "num-traits", + "rand 0.8.5", + "rayon", ] [[package]] -name = "arbitrary" -version = "1.3.2" +name = "arr_macro" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "c49336e062fa2ae8aca17a2f99c34d9c1a5d30827e8aff1cb4c294f253afe992" dependencies = [ - "derive_arbitrary", + "arr_macro_impl", + "proc-macro-hack", + "proc-macro-nested", ] [[package]] -name = "arc-swap" -version = "1.6.0" +name = "arr_macro_impl" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "9c6368f9ae5c6ec403ca910327ae0c9437b0a85255b6950c90d497e6177f6e5e" +dependencies = [ + "proc-macro-hack", + "quote 1.0.36", + "syn 1.0.107", +] [[package]] name = "arrayref" @@ -361,6 +1247,15 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +[[package]] +name = "arrayvec" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" +dependencies = [ + "nodrop", +] + [[package]] name = "arrayvec" version = "0.5.2" @@ -392,7 +1287,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.36", ] [[package]] @@ -408,7 +1303,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.36", ] [[package]] @@ -475,9 +1370,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.3.15" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" dependencies = [ "flate2", "futures-core", @@ -527,7 +1422,7 @@ dependencies = [ "concurrent-queue", "futures-lite", "libc", - "log 0.4.17", + "log 0.4.22", "parking", "polling", "slab", @@ -564,7 +1459,7 @@ dependencies = [ "futures-lite", "gloo-timers", "kv-log-macro", - "log 0.4.17", + "log 0.4.22", "memchr", "once_cell", "pin-project-lite 0.2.14", @@ -654,6 +1549,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" + [[package]] name = "backtrace" version = "0.3.67" @@ -681,6 +1582,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.9.3" @@ -702,21 +1609,21 @@ dependencies = [ [[package]] name = "base64" -version = "0.11.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.13.1" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.21.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -758,6 +1665,30 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bellpepper" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae286c2cb403324ab644c7cc68dceb25fe52ca9429908a726d7ed272c1edf7b" +dependencies = [ + "bellpepper-core", + "byteorder", + "ff 0.13.0", +] + +[[package]] +name = "bellpepper-core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8abb418570756396d722841b19edfec21d4e89e1cf8990610663040ecb1aea" +dependencies = [ + "blake2s_simd", + "byteorder", + "ff 0.13.0", + "serde", + "thiserror", +] + [[package]] name = "bencher" version = "0.1.5" @@ -842,7 +1773,7 @@ dependencies = [ "env_logger", "lazy_static", "lazycell", - "log 0.4.17", + "log 0.4.22", "peeking_take_while", "proc-macro2 1.0.86", "quote 1.0.36", @@ -925,10 +1856,22 @@ version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" dependencies = [ - "funty", + "funty 1.1.0", "radium 0.6.2", "tap", - "wyz", + "wyz 0.2.0", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty 2.0.0", + "radium 0.7.0", + "tap", + "wyz 0.5.1", ] [[package]] @@ -937,7 +1880,17 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", +] + +[[package]] +name = "blake2-rfc" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +dependencies = [ + "arrayvec 0.4.12", + "constant_time_eq 0.1.5", ] [[package]] @@ -948,7 +1901,29 @@ checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" dependencies = [ "arrayref", "arrayvec 0.5.2", - "constant_time_eq", + "constant_time_eq 0.1.5", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +dependencies = [ + "arrayref", + "arrayvec 0.7.2", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "blake2s_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" +dependencies = [ + "arrayref", + "arrayvec 0.7.2", + "constant_time_eq 0.3.1", ] [[package]] @@ -970,7 +1945,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ "block-padding 0.2.1", - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -979,7 +1954,7 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -1021,6 +1996,34 @@ dependencies = [ "futures-lite", ] +[[package]] +name = "blst" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "blstrs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a8a8ed6fefbeef4a8c7b460e4110e12c5e22a5b7cf32621aae6ad650c4dcf29" +dependencies = [ + "blst", + "byte-slice-cast 1.2.2", + "ff 0.13.0", + "group 0.13.0", + "pairing", + "rand_core 0.6.4", + "serde", + "subtle", +] + [[package]] name = "bs58" version = "0.3.1" @@ -1054,6 +2057,26 @@ dependencies = [ "serde", ] +[[package]] +name = "bulletproofs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40e698f1df446cc6246afd823afbe2d121134d089c9102c1dd26d1264991ba32" +dependencies = [ + "byteorder", + "clear_on_drop", + "curve25519-dalek-ng", + "digest 0.9.0", + "merlin", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "serde_derive", + "sha3", + "subtle-ng", + "thiserror", +] + [[package]] name = "bumpalo" version = "3.12.0" @@ -1140,11 +2163,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.79" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "e9e8aabfac534be767c909e0690571677d49f41bd8465ae876fe043d52ba5292" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -1179,44 +2203,49 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chacha20" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if 1.0.0", - "cipher 0.3.0", + "cipher 0.4.4", "cpufeatures", - "zeroize", ] [[package]] name = "chacha20poly1305" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "aead 0.4.3", + "aead 0.5.2", "chacha20", - "cipher 0.3.0", + "cipher 0.4.4", "poly1305", "zeroize", ] [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", - "time 0.1.43", + "serde", "wasm-bindgen", - "winapi 0.3.9", + "windows-targets 0.52.6", ] [[package]] @@ -1253,13 +2282,40 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cca491388666e04d7248af3f60f0c40cfb0991c72205595d7c396e3510207d1a" +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half 2.4.1", +] + [[package]] name = "cipher" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -1268,7 +2324,27 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + +[[package]] +name = "claims" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6995bbe186456c36307f8ea36be3eefe42f49d106896414e18efc4fb2f846b5" +dependencies = [ + "autocfg 1.1.0", ] [[package]] @@ -1376,6 +2452,15 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +[[package]] +name = "clear_on_drop" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38508a63f4979f0048febc9966fadbd48e5dab31fd0ec6a3f151bbf4a74f7423" +dependencies = [ + "cc", +] + [[package]] name = "cli-table" version = "0.3.2" @@ -1468,9 +2553,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.1.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils 0.8.14", ] @@ -1489,9 +2574,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.1" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "constant_time_eq" @@ -1499,6 +2584,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + [[package]] name = "contrib-contracts" version = "2.0.1" @@ -1528,6 +2619,24 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "aes-gcm 0.10.3", + "base64 0.22.1", + "hkdf 0.12.3", + "hmac 0.12.1", + "percent-encoding 2.2.0", + "rand 0.8.5", + "sha2 0.10.6", + "subtle", + "time 0.3.36", + "version_check 0.9.4", +] + [[package]] name = "core-foundation" version = "0.9.3" @@ -1553,6 +2662,27 @@ dependencies = [ "memchr", ] +[[package]] +name = "core_affinity" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622892f5635ce1fc38c8f16dfc938553ed64af482edb5e150bf4caedbfcb2304" +dependencies = [ + "libc", + "num_cpus", + "winapi 0.3.9", +] + +[[package]] +name = "coset" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8cc80f631f8307b887faca24dcc3abc427cd0367f6eb6188f6e8f5b7ad8fb" +dependencies = [ + "ciborium", + "ciborium-io", +] + [[package]] name = "cpp_demangle" version = "0.3.5" @@ -1564,9 +2694,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -1778,7 +2908,19 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", "rand_core 0.6.4", "subtle", "zeroize", @@ -1790,7 +2932,8 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", + "rand_core 0.6.4", "typenum", ] @@ -1800,7 +2943,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] @@ -1810,7 +2953,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] @@ -1820,7 +2963,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] @@ -1855,16 +2998,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote 1.0.36", - "syn 1.0.107", -] - [[package]] name = "ctr" version = "0.6.0" @@ -1883,6 +3016,15 @@ dependencies = [ "cipher 0.3.0", ] +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher 0.4.4", +] + [[package]] name = "ctrlc" version = "3.2.5" @@ -1924,18 +3066,30 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.0" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if 1.0.0", - "fiat-crypto", - "packed_simd_2", - "platforms", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto 0.2.9", + "rustc_version 0.4.0", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 2.0.72", +] + [[package]] name = "curve25519-dalek-fiat" version = "0.1.0" @@ -1944,12 +3098,26 @@ checksum = "44339b9ecede7f72a0d3b012bf9bb5a616dc8bfde23ce544e42da075c87198f0" dependencies = [ "byteorder", "digest 0.9.0", - "fiat-crypto", + "fiat-crypto 0.1.17", "rand_core 0.6.4", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "serde", + "subtle-ng", + "zeroize", +] + [[package]] name = "cxx" version = "1.0.91" @@ -2016,22 +3184,22 @@ dependencies = [ [[package]] name = "darling" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", + "darling_core 0.14.3", + "darling_macro 0.14.3", ] [[package]] name = "darling" -version = "0.14.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.14.3", - "darling_macro 0.14.3", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -2064,9 +3232,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" dependencies = [ "fnv", "ident_case", @@ -2078,16 +3246,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2 1.0.86", "quote 1.0.36", - "strsim 0.10.0", - "syn 1.0.107", + "strsim 0.11.1", + "syn 2.0.72", ] [[package]] @@ -2114,24 +3282,24 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.13.4" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" dependencies = [ - "darling_core 0.13.4", + "darling_core 0.14.3", "quote 1.0.36", "syn 1.0.107", ] [[package]] name = "darling_macro" -version = "0.14.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.14.3", + "darling_core 0.20.10", "quote 1.0.36", - "syn 1.0.107", + "syn 2.0.72", ] [[package]] @@ -2156,15 +3324,15 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.12.3", - "lock_api 0.4.9", + "hashbrown 0.14.5", + "lock_api 0.4.12", "once_cell", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.10", ] [[package]] @@ -2275,7 +3443,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", - "pem-rfc7468", + "pem-rfc7468 0.6.0", + "zeroize", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468 0.7.0", "zeroize", ] @@ -2307,6 +3486,16 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + [[package]] name = "derivative" version = "2.2.0" @@ -2476,16 +3665,17 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.3", + "const-oid", "crypto-common", "subtle", ] @@ -2540,10 +3730,24 @@ version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ - "der", - "elliptic-curve", - "rfc6979", - "signature", + "der 0.6.1", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", + "signature 1.6.4", +] + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der 0.7.9", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", ] [[package]] @@ -2553,7 +3757,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ "serde", - "signature", + "signature 1.6.4", ] [[package]] @@ -2566,6 +3770,7 @@ dependencies = [ "ed25519", "rand 0.7.3", "serde", + "serde_bytes", "sha2 0.9.9", "zeroize", ] @@ -2593,20 +3798,21 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elasticsearch" -version = "8.5.0-alpha.1" +version = "8.15.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d9bd57d914cc66ce878f098f63ed7b5d5b64c30644a5adb950b008f874a6c6" +checksum = "d99147dd351d320432ec103a20804cbb593d3d08fd2eed0ee86f21a0f5137a3c" dependencies = [ - "base64 0.11.0", + "base64 0.22.1", "bytes 1.6.1", "dyn-clone", "lazy_static", "percent-encoding 2.2.0", - "reqwest", - "rustc_version 0.2.3", + "reqwest 0.12.4", + "rustc_version 0.4.0", "serde", "serde_json", "serde_with", + "tokio", "url 2.3.1", "void", ] @@ -2617,18 +3823,38 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct", - "crypto-bigint", - "der", - "digest 0.10.6", - "ff", - "generic-array 0.14.6", - "group", + "base16ct 0.1.1", + "crypto-bigint 0.4.9", + "der 0.6.1", + "digest 0.10.7", + "ff 0.12.1", + "generic-array 0.14.7", + "group 0.12.1", "hkdf 0.12.3", - "pem-rfc7468", - "pkcs8", + "pem-rfc7468 0.6.0", + "pkcs8 0.9.0", + "rand_core 0.6.4", + "sec1 0.3.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.0", + "generic-array 0.14.7", + "group 0.13.0", + "pem-rfc7468 0.7.0", + "pkcs8 0.10.2", "rand_core 0.6.4", - "sec1", + "sec1 0.7.3", "subtle", "zeroize", ] @@ -2680,7 +3906,7 @@ checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", - "log 0.4.17", + "log 0.4.22", "regex", "termcolor", ] @@ -2691,6 +3917,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +[[package]] +name = "erased-serde" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" +dependencies = [ + "serde", +] + [[package]] name = "errno" version = "0.3.1" @@ -2786,7 +4021,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c" dependencies = [ - "log 0.4.17", + "log 0.4.22", "once_cell", "rand 0.8.5", ] @@ -2827,12 +4062,47 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec 1.0.1", + "byteorder", + "ff_derive", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "ff_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f54704be45ed286151c5e11531316eaef5b8f5af7d597b806fdb8af108d84a" +dependencies = [ + "addchain", + "cfg-if 1.0.0", + "num-bigint 0.3.3", + "num-integer", + "num-traits", + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", +] + [[package]] name = "fiat-crypto" version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "findshlibs" version = "0.10.2" @@ -2845,6 +4115,18 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "fixed" +version = "1.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c6e0b89bf864acd20590dbdbad56f69aeb898abfc9443008fd7bd48b2cc85a" +dependencies = [ + "az", + "bytemuck", + "half 2.4.1", + "typenum", +] + [[package]] name = "fixed-hash" version = "0.6.1" @@ -2902,8 +4184,8 @@ dependencies = [ "glob", "is-terminal", "lazy_static", - "log 0.4.17", - "nu-ansi-term", + "log 0.4.22", + "nu-ansi-term 0.49.0", "regex", "thiserror", ] @@ -2997,6 +4279,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futures" version = "0.1.31" @@ -3164,6 +4452,15 @@ dependencies = [ "slab", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + [[package]] name = "generic-array" version = "0.12.4" @@ -3175,12 +4472,13 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check 0.9.4", + "zeroize", ] [[package]] @@ -3215,9 +4513,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if 1.0.0", "libc", @@ -3244,6 +4542,16 @@ dependencies = [ "polyval 0.5.3", ] +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug 0.3.0", + "polyval 0.6.2", +] + [[package]] name = "gherkin_rust" version = "0.6.0" @@ -3299,7 +4607,7 @@ dependencies = [ "aho-corasick 0.7.20", "bstr 1.2.0", "fnv", - "log 0.4.17", + "log 0.4.22", "regex", ] @@ -3360,7 +4668,7 @@ dependencies = [ "parking_lot 0.12.1", "quanta", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.13.2", ] [[package]] @@ -3369,8 +4677,21 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff", + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", + "rand 0.8.5", "rand_core 0.6.4", + "rand_xorshift 0.3.0", "subtle", ] @@ -3385,7 +4706,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", + "http 0.2.8", "indexmap 1.9.3", "slab", "tokio", @@ -3393,12 +4714,41 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes 1.6.1", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.4.0", + "slab", + "tokio", + "tokio-util 0.7.7", + "tracing", +] + [[package]] name = "half" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if 1.0.0", + "crunchy", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -3408,6 +4758,15 @@ dependencies = [ "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.11", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -3418,6 +4777,30 @@ dependencies = [ "allocator-api2", ] +[[package]] +name = "headers" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" +dependencies = [ + "base64 0.21.7", + "bytes 1.6.1", + "headers-core", + "http 1.1.0", + "httpdate", + "mime 0.3.16", + "sha1 0.10.6", +] + +[[package]] +name = "headers-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +dependencies = [ + "http 1.1.0", +] + [[package]] name = "heck" version = "0.3.3" @@ -3527,7 +4910,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -3537,7 +4920,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ "digest 0.9.0", - "generic-array 0.14.6", + "generic-array 0.14.7", "hmac 0.8.1", ] @@ -3563,6 +4946,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes 1.6.1", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.5" @@ -3570,7 +4964,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes 1.6.1", - "http", + "http 0.2.8", + "pin-project-lite 0.2.14", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes 1.6.1", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes 1.6.1", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", "pin-project-lite 0.2.14", ] @@ -3627,9 +5044,9 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.15", + "http 0.2.8", + "http-body 0.4.5", "httparse", "httpdate", "itoa", @@ -3641,6 +5058,27 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes 1.6.1", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite 0.2.14", + "smallvec 1.13.2", + "tokio", + "want", +] + [[package]] name = "hyper-tls" version = "0.5.0" @@ -3654,6 +5092,42 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes 1.6.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +dependencies = [ + "bytes 1.6.1", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite 0.2.14", + "socket2 0.5.7", + "tokio", + "tower", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -3738,7 +5212,7 @@ dependencies = [ "futures 0.3.30", "if-addrs", "ipnet", - "log 0.4.17", + "log 0.4.22", "rtnetlink", "system-configuration", "tokio", @@ -3753,7 +5227,7 @@ checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" dependencies = [ "globset", "lazy_static", - "log 0.4.17", + "log 0.4.22", "memchr", "regex", "same-file", @@ -3855,6 +5329,7 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg 1.1.0", "hashbrown 0.12.3", + "serde", ] [[package]] @@ -3865,6 +5340,7 @@ checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", + "serde", ] [[package]] @@ -3889,14 +5365,23 @@ dependencies = [ "indexmap 1.9.3", "is-terminal", "itoa", - "log 0.4.17", + "log 0.4.22", "num-format", "once_cell", - "quick-xml", + "quick-xml 0.26.0", "rgb", "str_stack", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + [[package]] name = "instant" version = "0.1.12" @@ -3914,7 +5399,7 @@ checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" dependencies = [ "async-trait", "bytes 1.6.1", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "rtcp", "rtp", @@ -3972,7 +5457,7 @@ dependencies = [ "socket2 0.4.7", "widestring", "winapi 0.3.9", - "winreg", + "winreg 0.10.1", ] [[package]] @@ -4023,11 +5508,31 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +[[package]] +name = "jemalloc-sys" +version = "0.5.4+5.3.0-patched" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "jemallocator" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc" +dependencies = [ + "jemalloc-sys", + "libc", +] + [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] @@ -4088,11 +5593,11 @@ dependencies = [ "derive_more", "futures 0.3.30", "hyper 0.14.24", - "hyper-tls", + "hyper-tls 0.5.0", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-pubsub 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.17", + "log 0.4.22", "parity-tokio-ipc", "serde", "serde_json", @@ -4110,7 +5615,7 @@ dependencies = [ "futures 0.3.30", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "jsonrpc-pubsub 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", - "log 0.4.17", + "log 0.4.22", "serde", "serde_json", ] @@ -4124,7 +5629,7 @@ dependencies = [ "futures 0.3.30", "futures-executor", "futures-util", - "log 0.4.17", + "log 0.4.22", "serde", "serde_derive", "serde_json", @@ -4138,7 +5643,7 @@ dependencies = [ "futures 0.3.30", "futures-executor", "futures-util", - "log 0.4.17", + "log 0.4.22", "serde", "serde_derive", "serde_json", @@ -4196,7 +5701,7 @@ dependencies = [ "hyper 0.14.24", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.17", + "log 0.4.22", "net2", "parking_lot 0.11.2", "unicase 2.6.0", @@ -4211,7 +5716,7 @@ dependencies = [ "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.17", + "log 0.4.22", "parity-tokio-ipc", "parking_lot 0.11.2", "tower-service", @@ -4226,7 +5731,7 @@ dependencies = [ "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.11.2", "rand 0.7.3", "serde", @@ -4240,7 +5745,7 @@ dependencies = [ "futures 0.3.30", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "lazy_static", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.11.2", "rand 0.7.3", "serde", @@ -4258,7 +5763,7 @@ dependencies = [ "globset", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static", - "log 0.4.17", + "log 0.4.22", "tokio", "tokio-stream", "tokio-util 0.6.10", @@ -4275,7 +5780,7 @@ dependencies = [ "globset", "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "lazy_static", - "log 0.4.17", + "log 0.4.22", "tokio", "tokio-stream", "tokio-util 0.6.10", @@ -4290,7 +5795,7 @@ checksum = "60a0a0d35558123e93743d467285196905da1368500378cb5352b71856377874" dependencies = [ "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.11.2", "tower-service", ] @@ -4302,7 +5807,7 @@ source = "git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9 dependencies = [ "jsonrpc-core 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", "jsonrpc-server-utils 18.0.0 (git+https://github.com/starcoinorg/jsonrpc?rev=e895b6cc5897f3813a953a9a6bb4718b4856ab19)", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.11.2", "tower-service", ] @@ -4316,12 +5821,26 @@ dependencies = [ "futures 0.3.30", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.17", + "log 0.4.22", "parity-ws", "parking_lot 0.11.2", "slab", ] +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "keccak" version = "0.1.3" @@ -4347,7 +5866,7 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" dependencies = [ - "log 0.4.17", + "log 0.4.22", ] [[package]] @@ -4361,6 +5880,9 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] [[package]] name = "lazycell" @@ -4384,12 +5906,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - [[package]] name = "libm" version = "0.2.6" @@ -4399,13 +5915,12 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "bytes 1.6.1", "futures 0.3.30", "futures-timer", - "getrandom 0.2.8", + "getrandom 0.2.15", "instant", "libp2p-core", "libp2p-dns", @@ -4426,14 +5941,13 @@ dependencies = [ "multiaddr", "parking_lot 0.12.1", "pin-project 1.0.12", - "smallvec 1.10.0", + "smallvec 1.13.2", ] [[package]] name = "libp2p-core" version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "asn1_der", "bs58 0.4.0", @@ -4444,7 +5958,7 @@ dependencies = [ "futures-timer", "instant", "libsecp256k1", - "log 0.4.17", + "log 0.4.22", "multiaddr", "multihash", "multistream-select", @@ -4455,9 +5969,9 @@ dependencies = [ "prost-build", "rand 0.8.5", "rw-stream-sink", - "sec1", + "sec1 0.3.0", "sha2 0.10.6", - "smallvec 1.10.0", + "smallvec 1.13.2", "thiserror", "unsigned-varint 0.7.1", "void", @@ -4467,43 +5981,40 @@ dependencies = [ [[package]] name = "libp2p-dns" version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "futures 0.3.30", "libp2p-core", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.12.1", - "smallvec 1.10.0", + "smallvec 1.13.2", "trust-dns-resolver", ] [[package]] name = "libp2p-identify" -version = "0.41.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" +version = "0.41.0" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "asynchronous-codec 0.6.1", "futures 0.3.30", "futures-timer", "libp2p-core", "libp2p-swarm", - "log 0.4.17", + "log 0.4.22", "lru 0.8.1", "prost", "prost-build", "prost-codec", - "smallvec 1.10.0", + "smallvec 1.13.2", "thiserror", "void", ] [[package]] name = "libp2p-kad" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2" +version = "0.42.0" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "arrayvec 0.7.2", "asynchronous-codec 0.6.1", @@ -4515,12 +6026,12 @@ dependencies = [ "instant", "libp2p-core", "libp2p-swarm", - "log 0.4.17", + "log 0.4.22", "prost", "prost-build", "rand 0.8.5", "sha2 0.10.6", - "smallvec 1.10.0", + "smallvec 1.13.2", "thiserror", "uint 0.9.5", "unsigned-varint 0.7.1", @@ -4530,17 +6041,16 @@ dependencies = [ [[package]] name = "libp2p-mdns" version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "data-encoding", "futures 0.3.30", "if-watch", "libp2p-core", "libp2p-swarm", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.13.2", "socket2 0.4.7", "tokio", "trust-dns-proto", @@ -4550,8 +6060,7 @@ dependencies = [ [[package]] name = "libp2p-metrics" version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "libp2p-core", "libp2p-identify", @@ -4564,32 +6073,30 @@ dependencies = [ [[package]] name = "libp2p-mplex" version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "asynchronous-codec 0.6.1", "bytes 1.6.1", "futures 0.3.30", "libp2p-core", - "log 0.4.17", + "log 0.4.22", "nohash-hasher", "parking_lot 0.12.1", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.13.2", "unsigned-varint 0.7.1", ] [[package]] name = "libp2p-noise" version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "bytes 1.6.1", "curve25519-dalek 3.2.0", "futures 0.3.30", "libp2p-core", - "log 0.4.17", + "log 0.4.22", "once_cell", "prost", "prost-build", @@ -4598,22 +6105,21 @@ dependencies = [ "snow", "static_assertions", "thiserror", - "x25519-dalek 1.1.1", + "x25519-dalek 1.2.0", "zeroize", ] [[package]] name = "libp2p-ping" version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "futures 0.3.30", "futures-timer", "instant", "libp2p-core", "libp2p-swarm", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "void", ] @@ -4621,8 +6127,7 @@ dependencies = [ [[package]] name = "libp2p-quic" version = "0.7.0-alpha" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "bytes 1.6.1", "futures 0.3.30", @@ -4630,7 +6135,7 @@ dependencies = [ "if-watch", "libp2p-core", "libp2p-tls", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.12.1", "quinn-proto", "rand 0.8.5", @@ -4642,8 +6147,7 @@ dependencies = [ [[package]] name = "libp2p-request-response" version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "async-trait", "bytes 1.6.1", @@ -4651,17 +6155,16 @@ dependencies = [ "instant", "libp2p-core", "libp2p-swarm", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.13.2", "unsigned-varint 0.7.1", ] [[package]] name = "libp2p-swarm" -version = "0.41.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" +version = "0.41.0" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "either", "fnv", @@ -4670,10 +6173,10 @@ dependencies = [ "instant", "libp2p-core", "libp2p-swarm-derive", - "log 0.4.17", + "log 0.4.22", "pin-project 1.0.12", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.13.2", "thiserror", "tokio", "void", @@ -4681,9 +6184,8 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400" +version = "0.30.2" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "heck 0.4.1", "quote 1.0.36", @@ -4693,15 +6195,14 @@ dependencies = [ [[package]] name = "libp2p-tcp" version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "futures 0.3.30", "futures-timer", "if-watch", "libc", "libp2p-core", - "log 0.4.17", + "log 0.4.22", "socket2 0.4.7", "tokio", ] @@ -4709,14 +6210,13 @@ dependencies = [ [[package]] name = "libp2p-tls" version = "0.1.0-alpha" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "futures 0.3.30", "futures-rustls", "libp2p-core", "rcgen 0.10.0", - "ring", + "ring 0.16.20", "rustls 0.20.8", "thiserror", "webpki 0.22.0", @@ -4727,8 +6227,7 @@ dependencies = [ [[package]] name = "libp2p-webrtc" version = "0.4.0-alpha" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "async-trait", "asynchronous-codec 0.6.1", @@ -4739,7 +6238,7 @@ dependencies = [ "if-watch", "libp2p-core", "libp2p-noise", - "log 0.4.17", + "log 0.4.22", "multihash", "prost", "prost-build", @@ -4758,14 +6257,13 @@ dependencies = [ [[package]] name = "libp2p-websocket" version = "0.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "either", "futures 0.3.30", "futures-rustls", "libp2p-core", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.12.1", "quicksink", "rw-stream-sink", @@ -4777,12 +6275,11 @@ dependencies = [ [[package]] name = "libp2p-yamux" version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "futures 0.3.30", "libp2p-core", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.12.1", "thiserror", "yamux", @@ -4914,9 +6411,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg 1.1.0", "scopeguard", @@ -4928,16 +6425,15 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.17", + "log 0.4.22", ] [[package]] name = "log" -version = "0.4.17" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ - "cfg-if 1.0.0", "serde", "value-bag", ] @@ -4962,13 +6458,13 @@ dependencies = [ "fnv", "humantime", "libc", - "log 0.4.17", + "log 0.4.22", "log-mdc", "parking_lot 0.12.1", "serde", "serde-value", "serde_json", - "serde_yaml", + "serde_yaml 0.8.26", "thiserror", "thread-id", "typemap-ors", @@ -5033,6 +6529,15 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matches" version = "0.1.10" @@ -5051,7 +6556,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -5112,7 +6617,7 @@ checksum = "d348b5b0d1707be1c8a727b7078daa08e2a3051d63b35715a19c35a324d2aaac" dependencies = [ "anyhow", "arrayref", - "log 0.4.17", + "log 0.4.22", "memmap2", "positioned-io", "rayon", @@ -5121,6 +6626,17 @@ dependencies = [ "typenum", ] +[[package]] +name = "merlin" +version = "3.0.0" +source = "git+https://github.com/aptos-labs/merlin#3454ccc85e37355c729ba40e6dac6e867ddf59f5" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.6.4", + "zeroize", +] + [[package]] name = "mime" version = "0.2.6" @@ -5163,7 +6679,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log 0.4.17", + "log 0.4.22", "miow", "net2", "slab", @@ -5177,7 +6693,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", - "log 0.4.17", + "log 0.4.22", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.45.0", ] @@ -5201,7 +6717,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", - "log 0.4.17", + "log 0.4.22", "mio 0.6.23", "slab", ] @@ -5224,15 +6740,21 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" +[[package]] +name = "more-asserts" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" + [[package]] name = "move-abigen" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "bcs 0.1.4", "heck 0.4.1", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-bytecode-verifier", "move-command-line-common", @@ -5244,7 +6766,7 @@ dependencies = [ [[package]] name = "move-binary-format" version = "0.0.3" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "arbitrary", @@ -5262,12 +6784,12 @@ dependencies = [ [[package]] name = "move-borrow-graph" version = "0.0.1" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" [[package]] name = "move-bytecode-source-map" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "bcs 0.1.4", @@ -5282,7 +6804,7 @@ dependencies = [ [[package]] name = "move-bytecode-spec" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "once_cell", "quote 1.0.36", @@ -5292,7 +6814,7 @@ dependencies = [ [[package]] name = "move-bytecode-utils" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "move-binary-format", @@ -5304,7 +6826,7 @@ dependencies = [ [[package]] name = "move-bytecode-verifier" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "fail", "move-binary-format", @@ -5318,7 +6840,7 @@ dependencies = [ [[package]] name = "move-bytecode-viewer" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "clap 4.5.16", @@ -5333,7 +6855,7 @@ dependencies = [ [[package]] name = "move-cli" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "clap 4.5.16", @@ -5363,7 +6885,7 @@ dependencies = [ [[package]] name = "move-command-line-common" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "difference", @@ -5380,7 +6902,7 @@ dependencies = [ [[package]] name = "move-compiler" version = "0.0.1" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "bcs 0.1.4", @@ -5406,7 +6928,7 @@ dependencies = [ [[package]] name = "move-compiler-v2" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "abstract-domain-derive", "anyhow", @@ -5417,7 +6939,7 @@ dependencies = [ "flexi_logger", "im", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-bytecode-source-map", "move-bytecode-verifier", @@ -5437,7 +6959,7 @@ dependencies = [ [[package]] name = "move-core-types" version = "0.0.4" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "arbitrary", @@ -5463,7 +6985,7 @@ dependencies = [ [[package]] name = "move-coverage" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "bcs 0.1.4", @@ -5499,7 +7021,7 @@ dependencies = [ [[package]] name = "move-disassembler" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "clap 4.5.16", @@ -5516,14 +7038,14 @@ dependencies = [ [[package]] name = "move-docgen" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "clap 4.5.16", "codespan 0.11.1", "codespan-reporting", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-compiler", "move-core-types", "move-model", @@ -5535,7 +7057,7 @@ dependencies = [ [[package]] name = "move-errmapgen" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "move-command-line-common", @@ -5547,7 +7069,7 @@ dependencies = [ [[package]] name = "move-ir-compiler" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "bcs 0.1.4", @@ -5563,11 +7085,11 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "codespan-reporting", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-bytecode-source-map", "move-command-line-common", @@ -5581,7 +7103,7 @@ dependencies = [ [[package]] name = "move-ir-to-bytecode-syntax" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "hex", @@ -5594,7 +7116,7 @@ dependencies = [ [[package]] name = "move-ir-types" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "hex", "move-command-line-common", @@ -5607,14 +7129,14 @@ dependencies = [ [[package]] name = "move-model" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "codespan 0.11.1", "codespan-reporting", "internment", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-bytecode-source-map", "move-command-line-common", @@ -5633,7 +7155,7 @@ dependencies = [ [[package]] name = "move-package" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "clap 4.5.16", @@ -5655,7 +7177,7 @@ dependencies = [ "petgraph 0.5.1", "regex", "serde", - "serde_yaml", + "serde_yaml 0.8.26", "sha2 0.9.9", "tempfile", "termcolor", @@ -5718,14 +7240,14 @@ dependencies = [ [[package]] name = "move-prover" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "atty", "clap 4.5.16", "codespan-reporting", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-abigen", "move-command-line-common", "move-compiler", @@ -5745,7 +7267,7 @@ dependencies = [ [[package]] name = "move-prover-boogie-backend" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "async-trait", @@ -5753,7 +7275,7 @@ dependencies = [ "codespan-reporting", "futures 0.3.30", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-command-line-common", "move-compiler", @@ -5774,13 +7296,13 @@ dependencies = [ [[package]] name = "move-prover-bytecode-pipeline" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "abstract-domain-derive", "anyhow", "codespan-reporting", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-core-types", "move-model", @@ -5791,7 +7313,7 @@ dependencies = [ [[package]] name = "move-prover-test-utils" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "move-command-line-common", @@ -5802,7 +7324,7 @@ dependencies = [ [[package]] name = "move-resource-viewer" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "hex", @@ -5815,14 +7337,14 @@ dependencies = [ [[package]] name = "move-stackless-bytecode" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "abstract-domain-derive", "codespan-reporting", "ethnum", "im", "itertools 0.13.0", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-core-types", "move-model", @@ -5834,11 +7356,11 @@ dependencies = [ [[package]] name = "move-stdlib" version = "0.1.1" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "hex", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-command-line-common", "move-compiler", @@ -5850,14 +7372,14 @@ dependencies = [ "move-vm-types", "sha2 0.9.9", "sha3", - "smallvec 1.10.0", + "smallvec 1.13.2", "walkdir", ] [[package]] name = "move-symbol-pool" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "once_cell", "serde", @@ -5866,7 +7388,7 @@ dependencies = [ [[package]] name = "move-table-extension" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "better_any", "bytes 1.6.1", @@ -5875,13 +7397,13 @@ dependencies = [ "move-vm-runtime", "move-vm-types", "sha3", - "smallvec 1.10.0", + "smallvec 1.13.2", ] [[package]] name = "move-transactional-test-runner" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "clap 4.5.16", @@ -5911,7 +7433,7 @@ dependencies = [ [[package]] name = "move-unit-test" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "better_any", @@ -5939,7 +7461,7 @@ dependencies = [ [[package]] name = "move-vm-runtime" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "better_any", "bytes 1.6.1", @@ -5963,7 +7485,7 @@ dependencies = [ [[package]] name = "move-vm-test-utils" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "anyhow", "bytes 1.6.1", @@ -5979,7 +7501,7 @@ dependencies = [ [[package]] name = "move-vm-types" version = "0.1.0" -source = "git+https://github.com/starcoinorg/aptos-core?rev=1d3c4ae8225b465ce16650089b831f1df876759f#1d3c4ae8225b465ce16650089b831f1df876759f" +source = "git+https://github.com/starcoinorg/aptos-core?rev=561a0f9f93680b59abc5c5f900fb30d5294b6ad6#561a0f9f93680b59abc5c5f900fb30d5294b6ad6" dependencies = [ "bcs 0.1.4", "bytes 1.6.1", @@ -5989,10 +7511,28 @@ dependencies = [ "move-core-types", "serde", "smallbitvec", - "smallvec 1.10.0", + "smallvec 1.13.2", "triomphe", ] +[[package]] +name = "multer" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" +dependencies = [ + "bytes 1.6.1", + "encoding_rs", + "futures-util", + "http 1.1.0", + "httparse", + "memchr", + "mime 0.3.16", + "spin 0.9.8", + "tokio", + "version_check 0.9.4", +] + [[package]] name = "multiaddr" version = "0.16.0" @@ -6029,7 +7569,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc" dependencies = [ "core2", - "digest 0.10.6", + "digest 0.10.7", "multihash-derive", "sha2 0.10.6", "unsigned-varint 0.7.1", @@ -6058,14 +7598,13 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multistream-select" version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "bytes 1.6.1", "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "pin-project 1.0.12", - "smallvec 1.10.0", + "smallvec 1.13.2", "unsigned-varint 0.7.1", ] @@ -6100,7 +7639,7 @@ checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", - "log 0.4.17", + "log 0.4.22", "openssl", "openssl-probe", "openssl-sys", @@ -6110,6 +7649,25 @@ dependencies = [ "tempfile", ] +[[package]] +name = "neptune" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06626c9ac04c894e9a23d061ba1309f28506cdc5fe64156d28a15fb57fc8e438" +dependencies = [ + "bellpepper", + "bellpepper-core", + "blake2s_simd", + "blstrs", + "byteorder", + "ff 0.13.0", + "generic-array 0.14.7", + "log 0.4.22", + "pasta_curves", + "serde", + "trait-set", +] + [[package]] name = "net2" version = "0.2.38" @@ -6167,7 +7725,7 @@ checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" dependencies = [ "bytes 1.6.1", "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "netlink-packet-core", "netlink-sys", "thiserror", @@ -6183,7 +7741,7 @@ dependencies = [ "bytes 1.6.1", "futures 0.3.30", "libc", - "log 0.4.17", + "log 0.4.22", "tokio", ] @@ -6232,7 +7790,7 @@ dependencies = [ "libp2p", "linked-hash-map", "linked_hash_set", - "log 0.4.17", + "log 0.4.22", "lru 0.7.8", "network-p2p-types", "once_cell", @@ -6243,7 +7801,7 @@ dependencies = [ "sc-peerset", "serde", "serde_json", - "smallvec 1.10.0", + "smallvec 1.13.2", "starcoin-config", "starcoin-crypto", "starcoin-metrics", @@ -6265,7 +7823,7 @@ dependencies = [ "anyhow", "bcs-ext", "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "network-p2p-derive", "network-p2p-types", "num_enum", @@ -6320,7 +7878,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" dependencies = [ - "smallvec 1.10.0", + "smallvec 1.13.2", ] [[package]] @@ -6360,12 +7918,30 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "nix" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +dependencies = [ + "bitflags 2.6.0", + "cfg-if 1.0.0", + "cfg_aliases", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -6397,6 +7973,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi 0.3.9", +] + [[package]] name = "nu-ansi-term" version = "0.49.0" @@ -6443,6 +8029,23 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec 1.13.2", + "zeroize", +] + [[package]] name = "num-complex" version = "0.4.3" @@ -6452,6 +8055,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" version = "0.3.3" @@ -6513,7 +8122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg 1.1.0", - "libm 0.2.6", + "libm", ] [[package]] @@ -6729,36 +8338,44 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "p256" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ - "ecdsa", - "elliptic-curve", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", "sha2 0.10.6", ] [[package]] -name = "p384" -version = "0.11.2" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "ecdsa", - "elliptic-curve", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", "sha2 0.10.6", ] [[package]] -name = "packed_simd_2" -version = "0.3.8" +name = "p384" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" dependencies = [ - "cfg-if 1.0.0", - "libm 0.1.4", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.6", ] [[package]] @@ -6770,6 +8387,15 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group 0.13.0", +] + [[package]] name = "parity-scale-codec" version = "1.3.7" @@ -6816,7 +8442,7 @@ checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6" dependencies = [ "futures 0.3.30", "libc", - "log 0.4.17", + "log 0.4.22", "rand 0.7.3", "tokio", "winapi 0.3.9", @@ -6831,7 +8457,7 @@ dependencies = [ "byteorder", "bytes 0.4.12", "httparse", - "log 0.4.17", + "log 0.4.22", "mio 0.6.23", "mio-extras", "rand 0.7.3", @@ -6864,7 +8490,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", - "lock_api 0.4.9", + "lock_api 0.4.12", "parking_lot_core 0.8.6", ] @@ -6874,8 +8500,8 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "lock_api 0.4.9", - "parking_lot_core 0.9.7", + "lock_api 0.4.12", + "parking_lot_core 0.9.10", ] [[package]] @@ -6903,21 +8529,21 @@ dependencies = [ "instant", "libc", "redox_syscall 0.2.16", - "smallvec 1.10.0", + "smallvec 1.13.2", "winapi 0.3.9", ] [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", - "smallvec 1.10.0", - "windows-sys 0.45.0", + "redox_syscall 0.5.3", + "smallvec 1.13.2", + "windows-targets 0.52.6", ] [[package]] @@ -6929,6 +8555,25 @@ dependencies = [ "regex", ] +[[package]] +name = "passkey-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "499cff8432e71c5f8784d9645aac0f9fca604d67f59b68a606170b5e229c6538" +dependencies = [ + "bitflags 2.6.0", + "ciborium", + "coset", + "data-encoding", + "indexmap 2.4.0", + "rand 0.8.5", + "serde", + "serde_json", + "sha2 0.10.6", + "strum 0.25.0", + "typeshare", +] + [[package]] name = "password-hash" version = "0.4.2" @@ -6940,6 +8585,23 @@ dependencies = [ "subtle", ] +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "blake2b_simd 1.0.2", + "ff 0.13.0", + "group 0.13.0", + "hex", + "lazy_static", + "rand 0.8.5", + "serde", + "static_assertions", + "subtle", +] + [[package]] name = "paste" version = "1.0.11" @@ -6958,7 +8620,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "hmac 0.12.1", "password-hash", "sha2 0.10.6", @@ -6988,6 +8650,15 @@ dependencies = [ "base64ct", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "1.0.1" @@ -7178,27 +8849,42 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der 0.7.9", + "pkcs8 0.10.2", + "spki 0.7.3", +] + [[package]] name = "pkcs8" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ - "der", - "spki", + "der 0.6.1", + "spki 0.6.0", ] [[package]] -name = "pkg-config" -version = "0.3.26" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.9", + "spki 0.7.3", +] [[package]] -name = "platforms" -version = "3.0.2" +name = "pkg-config" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "plotters" @@ -7228,6 +8914,99 @@ dependencies = [ "plotters-backend", ] +[[package]] +name = "poem" +version = "3.0.1" +source = "git+https://github.com/poem-web/poem.git?rev=809b2816d3504beeba140fef3fdfe9432d654c5b#809b2816d3504beeba140fef3fdfe9432d654c5b" +dependencies = [ + "bytes 1.6.1", + "chrono", + "cookie", + "futures-util", + "headers", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "mime 0.3.16", + "multer", + "nix 0.28.0", + "parking_lot 0.12.1", + "percent-encoding 2.2.0", + "pin-project-lite 0.2.14", + "poem-derive", + "quick-xml 0.32.0", + "regex", + "rfc7239", + "serde", + "serde_json", + "serde_urlencoded", + "serde_yaml 0.9.34+deprecated", + "smallvec 1.13.2", + "sync_wrapper 1.0.1", + "tempfile", + "thiserror", + "time 0.3.36", + "tokio", + "tokio-stream", + "tokio-util 0.7.7", + "tracing", + "wildmatch", +] + +[[package]] +name = "poem-derive" +version = "3.0.0" +source = "git+https://github.com/poem-web/poem.git?rev=809b2816d3504beeba140fef3fdfe9432d654c5b#809b2816d3504beeba140fef3fdfe9432d654c5b" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 2.0.72", +] + +[[package]] +name = "poem-openapi" +version = "5.0.2" +source = "git+https://github.com/poem-web/poem.git?rev=809b2816d3504beeba140fef3fdfe9432d654c5b#809b2816d3504beeba140fef3fdfe9432d654c5b" +dependencies = [ + "base64 0.22.1", + "bytes 1.6.1", + "derive_more", + "futures-util", + "indexmap 2.4.0", + "mime 0.3.16", + "num-traits", + "poem", + "poem-openapi-derive", + "quick-xml 0.32.0", + "regex", + "serde", + "serde_json", + "serde_urlencoded", + "serde_yaml 0.9.34+deprecated", + "thiserror", + "tokio", + "url 2.3.1", +] + +[[package]] +name = "poem-openapi-derive" +version = "5.0.2" +source = "git+https://github.com/poem-web/poem.git?rev=809b2816d3504beeba140fef3fdfe9432d654c5b#809b2816d3504beeba140fef3fdfe9432d654c5b" +dependencies = [ + "darling 0.20.10", + "http 1.1.0", + "indexmap 2.4.0", + "mime 0.3.16", + "proc-macro-crate 3.2.0", + "proc-macro2 1.0.86", + "quote 1.0.36", + "regex", + "syn 2.0.72", + "thiserror", +] + [[package]] name = "polling" version = "2.5.2" @@ -7237,20 +9016,20 @@ dependencies = [ "autocfg 1.1.0", "cfg-if 1.0.0", "libc", - "log 0.4.17", + "log 0.4.22", "wepoll-ffi", "windows-sys 0.42.0", ] [[package]] name = "poly1305" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.5.1", ] [[package]] @@ -7261,7 +9040,7 @@ checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" dependencies = [ "cpuid-bool", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] @@ -7273,7 +9052,29 @@ dependencies = [ "cfg-if 1.0.0", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "opaque-debug 0.3.0", + "universal-hash 0.5.1", +] + +[[package]] +name = "poseidon-ark" +version = "0.0.1" +source = "git+https://github.com/arnaucube/poseidon-ark.git?rev=6d2487aa1308d9d3860a2b724c485d73095c1c68#6d2487aa1308d9d3860a2b724c485d73095c1c68" +dependencies = [ + "ark-bn254", + "ark-ff", + "ark-std", ] [[package]] @@ -7287,6 +9088,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "pprof" version = "0.10.1" @@ -7299,11 +9106,11 @@ dependencies = [ "findshlibs", "inferno", "libc", - "log 0.4.17", + "log 0.4.22", "nix 0.24.3", "once_cell", "parking_lot 0.12.1", - "smallvec 1.10.0", + "smallvec 1.13.2", "symbolic-demangle", "tempfile", "thiserror", @@ -7371,6 +9178,15 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve 0.13.8", +] + [[package]] name = "primitive-types" version = "0.7.3" @@ -7415,6 +9231,15 @@ dependencies = [ "toml 0.5.11", ] +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit 0.22.20", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -7445,6 +9270,12 @@ version = "0.5.20+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + [[package]] name = "proc-macro2" version = "0.4.30" @@ -7476,7 +9307,7 @@ dependencies = [ "memchr", "parking_lot 0.12.1", "protobuf", - "reqwest", + "reqwest 0.11.14", "thiserror", ] @@ -7517,7 +9348,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift 0.3.0", - "regex-syntax", + "regex-syntax 0.8.4", "rusty-fork", "tempfile", "unarray", @@ -7565,7 +9396,7 @@ dependencies = [ "heck 0.4.1", "itertools 0.10.5", "lazy_static", - "log 0.4.17", + "log 0.4.22", "multimap", "petgraph 0.6.3", "prettyplease 0.1.23", @@ -7580,8 +9411,7 @@ dependencies = [ [[package]] name = "prost-codec" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "asynchronous-codec 0.6.1", "bytes 1.6.1", @@ -7665,6 +9495,28 @@ dependencies = [ "memchr", ] +[[package]] +name = "quick-xml" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quick_cache" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb55a1aa7668676bb93926cd4e9cdfe60f03bb866553bcca9112554911b6d3dc" +dependencies = [ + "ahash 0.8.11", + "equivalent", + "hashbrown 0.14.5", + "parking_lot 0.12.1", +] + [[package]] name = "quicksink" version = "0.1.2" @@ -7684,7 +9536,7 @@ checksum = "72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9" dependencies = [ "bytes 1.6.1", "rand 0.8.5", - "ring", + "ring 0.16.20", "rustc-hash", "rustls 0.20.8", "slab", @@ -7730,6 +9582,12 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "radix_trie" version = "0.2.1" @@ -7843,7 +9701,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.15", "serde", ] @@ -7974,8 +9832,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", - "ring", - "time 0.3.19", + "ring 0.16.20", + "time 0.3.36", "x509-parser 0.13.2", "yasna", ] @@ -7987,8 +9845,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", - "ring", - "time 0.3.19", + "ring 0.16.20", + "time 0.3.36", "yasna", ] @@ -8025,13 +9883,22 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "redox_users" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.15", "redox_syscall 0.2.16", "thiserror", ] @@ -8065,7 +9932,7 @@ dependencies = [ "aho-corasick 1.1.3", "memchr", "regex-automata 0.4.7", - "regex-syntax", + "regex-syntax 0.8.4", ] [[package]] @@ -8073,6 +9940,9 @@ name = "regex-automata" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] [[package]] name = "regex-automata" @@ -8082,9 +9952,15 @@ checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick 1.1.3", "memchr", - "regex-syntax", + "regex-syntax 0.8.4", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.4" @@ -8106,28 +9982,67 @@ version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ - "async-compression", - "base64 0.21.0", + "base64 0.21.7", "bytes 1.6.1", "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.15", + "http 0.2.8", + "http-body 0.4.5", "hyper 0.14.24", - "hyper-tls", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log 0.4.22", + "mime 0.3.16", + "native-tls", + "once_cell", + "percent-encoding 2.2.0", + "pin-project-lite 0.2.14", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url 2.3.1", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.10.1", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "async-compression", + "base64 0.22.1", + "bytes 1.6.1", + "futures-core", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-tls 0.6.0", + "hyper-util", "ipnet", "js-sys", - "log 0.4.17", + "log 0.4.22", "mime 0.3.16", "native-tls", "once_cell", "percent-encoding 2.2.0", "pin-project-lite 0.2.14", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper 0.1.2", "tokio", "tokio-native-tls", "tokio-util 0.7.7", @@ -8136,7 +10051,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "winreg 0.52.0", ] [[package]] @@ -8176,11 +10091,30 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ - "crypto-bigint", + "crypto-bigint 0.4.9", "hmac 0.12.1", "zeroize", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + +[[package]] +name = "rfc7239" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b106a85eeb5b0336d16d6a20eab857f92861d4fbb1eb9a239866fb98fb6a1063" +dependencies = [ + "uncased", +] + [[package]] name = "rgb" version = "0.8.35" @@ -8199,12 +10133,36 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", - "untrusted", + "spin 0.5.2", + "untrusted 0.7.1", "web-sys", "winapi 0.3.9", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if 1.0.0", + "getrandom 0.2.15", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "ripemd160" version = "0.9.1" @@ -8256,6 +10214,26 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "rsa" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +dependencies = [ + "const-oid", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", +] + [[package]] name = "rtcp" version = "0.7.2" @@ -8274,7 +10252,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" dependencies = [ "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "netlink-packet-route", "netlink-proto", "nix 0.24.3", @@ -8303,8 +10281,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" dependencies = [ "base64 0.13.1", - "blake2b_simd", - "constant_time_eq", + "blake2b_simd 0.5.11", + "constant_time_eq 0.1.5", "crossbeam-utils 0.8.14", ] @@ -8349,7 +10327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "264b19b0d73b6ab33a706dc04b2b8148390da5aa16cfe567a8df6135f431e972" dependencies = [ "error-chain 0.12.4", - "log 0.4.17", + "log 0.4.22", "serde_json", ] @@ -8425,8 +10403,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ "base64 0.13.1", - "log 0.4.17", - "ring", + "log 0.4.22", + "ring 0.16.20", "sct 0.6.1", "webpki 0.21.4", ] @@ -8437,12 +10415,28 @@ version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ - "log 0.4.17", - "ring", + "log 0.4.22", + "ring 0.16.20", "sct 0.7.0", "webpki 0.22.0", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" + [[package]] name = "rustversion" version = "1.0.11" @@ -8473,12 +10467,12 @@ dependencies = [ "dirs-next", "fd-lock", "libc", - "log 0.4.17", + "log 0.4.22", "memchr", "nix 0.23.2", "radix_trie", "scopeguard", - "smallvec 1.10.0", + "smallvec 1.13.2", "unicode-segmentation", "unicode-width", "utf8parse", @@ -8498,8 +10492,7 @@ dependencies = [ [[package]] name = "rw-stream-sink" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" +source = "git+https://github.com/starcoinorg/rust-libp2p?rev=892a10116633ad6dd0c2550ce512fba98a525dc7#892a10116633ad6dd0c2550ce512fba98a525dc7" dependencies = [ "futures 0.3.30", "pin-project 1.0.12", @@ -8533,7 +10526,7 @@ version = "2.0.1" dependencies = [ "futures 0.3.30", "libp2p", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "serde_json", "sp-utils", @@ -8593,9 +10586,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scratch" @@ -8609,8 +10602,8 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -8619,8 +10612,8 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -8641,10 +10634,24 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct", - "der", - "generic-array 0.14.6", - "pkcs8", + "base16ct 0.1.1", + "der 0.6.1", + "generic-array 0.14.7", + "pkcs8 0.9.0", + "subtle", + "zeroize", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.9", + "generic-array 0.14.7", + "pkcs8 0.10.2", "subtle", "zeroize", ] @@ -8702,6 +10709,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + [[package]] name = "serde-generate" version = "0.19.1" @@ -8715,7 +10731,25 @@ dependencies = [ "serde", "serde-reflection 0.3.2", "serde_bytes", - "serde_yaml", + "serde_yaml 0.8.26", + "structopt", + "textwrap 0.13.4", +] + +[[package]] +name = "serde-generate" +version = "0.20.6" +source = "git+https://github.com/aptos-labs/serde-reflection?rev=73b6bbf748334b71ff6d7d09d06a29e3062ca075#73b6bbf748334b71ff6d7d09d06a29e3062ca075" +dependencies = [ + "bcs 0.1.5", + "bincode", + "heck 0.3.3", + "include_dir", + "maplit", + "serde", + "serde-reflection 0.3.5", + "serde_bytes", + "serde_yaml 0.8.26", "structopt", "textwrap 0.13.4", ] @@ -8795,7 +10829,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ - "half", + "half 1.8.2", "serde", ] @@ -8856,24 +10890,32 @@ dependencies = [ [[package]] name = "serde_with" -version = "1.14.0" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.4.0", "serde", + "serde_derive", + "serde_json", "serde_with_macros", + "time 0.3.36", ] [[package]] name = "serde_with_macros" -version = "1.5.2" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ - "darling 0.13.4", + "darling 0.20.10", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 1.0.107", + "syn 2.0.72", ] [[package]] @@ -8888,6 +10930,19 @@ dependencies = [ "yaml-rust", ] +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap 2.4.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + [[package]] name = "sha-1" version = "0.8.2" @@ -8922,6 +10977,17 @@ dependencies = [ "sha1_smol", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha1_smol" version = "1.0.0" @@ -8949,7 +11015,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -8964,6 +11030,15 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + [[package]] name = "shell-words" version = "1.1.0" @@ -9022,7 +11097,17 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", "rand_core 0.6.4", ] @@ -9055,6 +11140,18 @@ dependencies = [ "time 0.1.43", ] +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint 0.4.3", + "num-traits", + "thiserror", + "time 0.3.36", +] + [[package]] name = "simplelog" version = "0.9.0" @@ -9062,7 +11159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bc0ffd69814a9b251d43afcabf96dad1b29f5028378056257be9e3fecc9f720" dependencies = [ "chrono", - "log 0.4.17", + "log 0.4.22", "termcolor", ] @@ -9119,7 +11216,7 @@ dependencies = [ "slog", "term", "thread_local", - "time 0.3.19", + "time 0.3.36", ] [[package]] @@ -9148,9 +11245,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smawk" @@ -9160,16 +11257,16 @@ checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" [[package]] name = "snow" -version = "0.9.1" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ - "aes-gcm 0.9.4", + "aes-gcm 0.10.3", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.0", + "curve25519-dalek 4.1.3", "rand_core 0.6.4", - "ring", + "ring 0.17.8", "rustc_version 0.4.0", "sha2 0.10.6", "subtle", @@ -9206,7 +11303,7 @@ dependencies = [ "flate2", "futures 0.3.30", "httparse", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "sha-1 0.9.8", ] @@ -9230,6 +11327,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + [[package]] name = "spki" version = "0.6.0" @@ -9237,7 +11340,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", - "der", + "der 0.6.1", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der 0.7.9", ] [[package]] @@ -9772,7 +11885,7 @@ dependencies = [ "bcs-ext", "serde", "serde-reflection 0.3.2", - "serde_yaml", + "serde_yaml 0.8.26", "starcoin-crypto", "starcoin-types", "starcoin-vm-types", @@ -9818,9 +11931,10 @@ name = "starcoin-executor" version = "2.0.1" dependencies = [ "anyhow", + "aptos-vm", "bcs-ext", "hex", - "log 0.4.17", + "log 0.4.22", "move-transactional-test-runner", "once_cell", "serde", @@ -9932,7 +12046,7 @@ source = "git+https://github.com/starcoinorg/starcoin-framework?rev=e804cfaead59 dependencies = [ "anyhow", "include_dir", - "log 0.4.17", + "log 0.4.22", "once_cell", "tempfile", "walkdir", @@ -9945,7 +12059,7 @@ dependencies = [ "arrayref", "hex", "libsecp256k1", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-command-line-common", "move-core-types", @@ -9958,7 +12072,7 @@ dependencies = [ "num_enum", "rand 0.8.5", "ripemd160", - "smallvec 1.10.0", + "smallvec 1.13.2", "starcoin-crypto", "starcoin-uint", "tiny-keccak", @@ -10115,7 +12229,7 @@ dependencies = [ "arc-swap", "chrono", "lazy_static", - "log 0.4.17", + "log 0.4.22", "log4rs", "once_cell", "parking_lot 0.12.1", @@ -10280,7 +12394,7 @@ dependencies = [ "datatest-stable 0.1.3", "hex", "itertools 0.10.5", - "log 0.4.17", + "log 0.4.22", "move-command-line-common", "move-prover", "move-prover-test-utils", @@ -10326,7 +12440,7 @@ dependencies = [ "futures 0.3.30", "futures-timer", "hex", - "log 0.4.17", + "log 0.4.22", "lru 0.7.8", "network-api", "network-p2p", @@ -10671,7 +12785,7 @@ dependencies = [ "jsonrpc-derive 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-pubsub 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.17", + "log 0.4.22", "network-api", "network-p2p-types", "network-types", @@ -10742,7 +12856,7 @@ dependencies = [ "jsonrpc-server-utils 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-tcp-server 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-ws-server", - "log 0.4.17", + "log 0.4.22", "network-api", "network-p2p-core", "network-p2p-types", @@ -10807,7 +12921,7 @@ dependencies = [ "async-trait", "futures 0.3.30", "futures-timer", - "log 0.4.17", + "log 0.4.22", "once_cell", "schemars", "serde", @@ -11056,7 +13170,7 @@ dependencies = [ name = "starcoin-time-service" version = "2.0.1" dependencies = [ - "log 0.4.17", + "log 0.4.22", "serde", ] @@ -11066,7 +13180,7 @@ version = "2.0.1" dependencies = [ "criterion", "criterion-cpu-time", - "log 0.4.17", + "log 0.4.22", "num_cpus", "proptest", "proptest-derive 0.3.0", @@ -11113,7 +13227,7 @@ dependencies = [ "jsonrpc-core-client 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-derive 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-http-server", - "log 0.4.17", + "log 0.4.22", "move-binary-format", "move-bytecode-utils", "move-command-line-common", @@ -11181,7 +13295,7 @@ dependencies = [ "futures 0.3.30", "futures-channel", "linked-hash-map", - "log 0.4.17", + "log 0.4.22", "network-api", "parking_lot 0.12.1", "proptest", @@ -11329,7 +13443,7 @@ dependencies = [ "chrono", "forkable-jellyfish-merkle", "hex", - "log 0.4.17", + "log 0.4.22", "mirai-annotations", "move-binary-format", "move-bytecode-verifier", @@ -11369,7 +13483,7 @@ dependencies = [ "fs_extra", "include_dir", "itertools 0.10.5", - "log 0.4.17", + "log 0.4.22", "move-bytecode-verifier", "move-compiler", "move-prover", @@ -11393,7 +13507,7 @@ dependencies = [ "actix-rt", "anyhow", "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "starcoin-logger", "stest-macro", "timeout-join-handler", @@ -11433,7 +13547,7 @@ dependencies = [ "futures 0.3.30", "futures-retry", "futures-timer", - "log 0.4.17", + "log 0.4.22", "parking_lot 0.12.1", "pin-project 0.4.30", "pin-utils", @@ -11499,6 +13613,47 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros 0.25.3", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2 1.0.86", + "quote 1.0.36", + "rustversion", + "syn 1.0.107", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2 1.0.86", + "quote 1.0.36", + "rustversion", + "syn 2.0.72", +] + [[package]] name = "stun" version = "0.4.4" @@ -11510,7 +13665,7 @@ dependencies = [ "lazy_static", "md-5", "rand 0.8.5", - "ring", + "ring 0.16.20", "subtle", "thiserror", "tokio", @@ -11533,6 +13688,12 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + [[package]] name = "symbolic-common" version = "9.2.1" @@ -11600,6 +13761,21 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "synom" version = "0.11.3" @@ -11876,6 +14052,17 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "textwrap" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + [[package]] name = "textwrap" version = "0.16.0" @@ -11884,22 +14071,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 1.0.107", + "syn 2.0.72", ] [[package]] @@ -11944,13 +14131,16 @@ dependencies = [ [[package]] name = "time" -version = "0.3.19" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ + "deranged", "itoa", "libc", + "num-conv", "num_threads", + "powerfmt", "serde", "time-core", "time-macros", @@ -11958,16 +14148,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.7" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -11997,7 +14188,7 @@ dependencies = [ "ascii", "chrono", "chunked_transfer", - "log 0.4.17", + "log 0.4.22", "url 2.3.1", ] @@ -12084,7 +14275,7 @@ checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", "futures 0.1.31", - "log 0.4.17", + "log 0.4.22", ] [[package]] @@ -12117,7 +14308,7 @@ dependencies = [ "crossbeam-utils 0.7.2", "futures 0.1.31", "lazy_static", - "log 0.4.17", + "log 0.4.22", "mio 0.6.23", "num_cpus", "parking_lot 0.9.0", @@ -12193,7 +14384,7 @@ dependencies = [ "bytes 1.6.1", "futures-core", "futures-sink", - "log 0.4.17", + "log 0.4.22", "pin-project-lite 0.2.14", "tokio", ] @@ -12231,7 +14422,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] @@ -12253,9 +14444,41 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +dependencies = [ + "indexmap 2.4.0", + "toml_datetime", + "winnow 0.6.18", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project 1.0.12", + "pin-project-lite 0.2.14", + "tokio", + "tower-layer", + "tower-service", ] +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.2" @@ -12268,7 +14491,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a1e75297b57b61495169dd40dd86e0ab52bfc7cdba570f59be5683709c9d480" dependencies = [ - "log 0.4.17", + "log 0.4.22", ] [[package]] @@ -12301,6 +14524,69 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log 0.4.22", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term 0.46.0", + "once_cell", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec 1.13.2", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "trait-set" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b79e2e9c9ab44c6d7c20d5976961b47e8f49ac199154daa514b77cd1ab536625" +dependencies = [ + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 1.0.107", ] [[package]] @@ -12319,9 +14605,9 @@ dependencies = [ "heck 0.3.3", "move-core-types", "regex", - "serde-generate", + "serde-generate 0.19.1", "serde-reflection 0.3.2", - "serde_yaml", + "serde_yaml 0.8.26", "starcoin-vm-types", "tempfile", "textwrap 0.14.2", @@ -12334,7 +14620,7 @@ version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55db06994412bba044ff93b8e08ca9e13f0715a21562670d00af018ea973dd04" dependencies = [ - "log 0.4.17", + "log 0.4.22", "smallvec 0.6.14", "trace-time", ] @@ -12366,7 +14652,7 @@ dependencies = [ "ipnet", "lazy_static", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.13.2", "socket2 0.4.7", "thiserror", "tinyvec", @@ -12388,7 +14674,7 @@ dependencies = [ "lru-cache", "parking_lot 0.12.1", "resolv-conf", - "smallvec 1.10.0", + "smallvec 1.13.2", "thiserror", "tokio", "tracing", @@ -12423,10 +14709,10 @@ dependencies = [ "async-trait", "base64 0.13.1", "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "md-5", "rand 0.8.5", - "ring", + "ring 0.16.20", "stun", "thiserror", "tokio", @@ -12456,9 +14742,31 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "typeshare" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f17399b76c2e743d58eac0635d7686e9c00f48cd4776f00695d9882a7d3187" +dependencies = [ + "chrono", + "serde", + "serde_json", + "typeshare-annotation", +] + +[[package]] +name = "typeshare-annotation" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f" +dependencies = [ + "quote 1.0.36", + "syn 2.0.72", +] [[package]] name = "ucd-trie" @@ -12498,9 +14806,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "uncased" -version = "0.9.7" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622" +checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" dependencies = [ "version_check 0.9.4", ] @@ -12640,7 +14948,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", + "subtle", +] + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", "subtle", ] @@ -12653,6 +14971,12 @@ dependencies = [ "destructure_traitobject", ] +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + [[package]] name = "unsigned-varint" version = "0.6.0" @@ -12683,6 +15007,12 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "1.7.2" @@ -12717,18 +15047,20 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.15", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "value-bag" -version = "1.0.0-alpha.9" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check 0.9.4", -] +checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" [[package]] name = "variant_count" @@ -12821,7 +15153,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" dependencies = [ - "log 0.4.17", + "log 0.4.22", "try-lock", ] @@ -12866,7 +15198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", - "log 0.4.17", + "log 0.4.22", "once_cell", "proc-macro2 1.0.86", "quote 1.0.36", @@ -12946,8 +15278,8 @@ version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -12956,8 +15288,8 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -12981,11 +15313,11 @@ dependencies = [ "hex", "interceptor", "lazy_static", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "rcgen 0.9.3", "regex", - "ring", + "ring 0.16.20", "rtcp", "rtp", "rustls 0.19.1", @@ -12995,7 +15327,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.19", + "time 0.3.36", "tokio", "turn", "url 2.3.1", @@ -13018,7 +15350,7 @@ checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" dependencies = [ "bytes 1.6.1", "derive_builder 0.11.2", - "log 0.4.17", + "log 0.4.22", "thiserror", "tokio", "webrtc-sctp", @@ -13040,23 +15372,23 @@ dependencies = [ "ccm", "curve25519-dalek 3.2.0", "der-parser 8.1.0", - "elliptic-curve", + "elliptic-curve 0.12.3", "hkdf 0.12.3", "hmac 0.10.1", - "log 0.4.17", + "log 0.4.22", "oid-registry 0.6.1", - "p256", + "p256 0.11.1", "p384", "rand 0.8.5", "rand_core 0.6.4", "rcgen 0.9.3", - "ring", + "ring 0.16.20", "rustls 0.19.1", - "sec1", + "sec1 0.3.0", "serde", "sha-1 0.9.8", "sha2 0.9.9", - "signature", + "signature 1.6.4", "subtle", "thiserror", "tokio", @@ -13075,7 +15407,7 @@ dependencies = [ "arc-swap", "async-trait", "crc", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "serde", "serde_json", @@ -13096,7 +15428,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" dependencies = [ - "log 0.4.17", + "log 0.4.22", "socket2 0.4.7", "thiserror", "tokio", @@ -13129,7 +15461,7 @@ dependencies = [ "async-trait", "bytes 1.6.1", "crc", - "log 0.4.17", + "log 0.4.22", "rand 0.8.5", "thiserror", "tokio", @@ -13150,7 +15482,7 @@ dependencies = [ "bytes 1.6.1", "ctr 0.8.0", "hmac 0.11.0", - "log 0.4.17", + "log 0.4.22", "rtcp", "rtp", "sha-1 0.9.8", @@ -13173,7 +15505,7 @@ dependencies = [ "ipnet", "lazy_static", "libc", - "log 0.4.17", + "log 0.4.22", "nix 0.24.3", "rand 0.8.5", "thiserror", @@ -13215,7 +15547,7 @@ dependencies = [ "futures 0.1.31", "native-tls", "rand 0.6.5", - "sha1", + "sha1 0.6.1", "tokio-codec", "tokio-io", "tokio-tcp", @@ -13259,6 +15591,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" +[[package]] +name = "wildmatch" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3928939971918220fed093266b809d1ee4ec6c1a2d72692ff6876898f3b16c19" + [[package]] name = "winapi" version = "0.2.8" @@ -13574,6 +15912,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.10.1" @@ -13583,6 +15930,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if 1.0.0", + "windows-sys 0.48.0", +] + [[package]] name = "ws2_32-sys" version = "0.2.1" @@ -13600,10 +15957,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" [[package]] -name = "x25519-dalek" -version = "1.1.1" +name = "wyz" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x25519-dalek" +version = "1.2.0" +source = "git+https://github.com/aptos-labs/x25519-dalek?branch=zeroize_v1#762a9501668d213daa4a1864fa1f9db22716b661" dependencies = [ "curve25519-dalek 3.2.0", "rand_core 0.5.1", @@ -13645,10 +16010,10 @@ dependencies = [ "lazy_static", "nom", "oid-registry 0.4.0", - "ring", + "ring 0.16.20", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.36", ] [[package]] @@ -13666,7 +16031,7 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.36", ] [[package]] @@ -13685,7 +16050,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" dependencies = [ "futures 0.3.30", - "log 0.4.17", + "log 0.4.22", "nohash-hasher", "parking_lot 0.12.1", "rand 0.8.5", @@ -13698,7 +16063,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" dependencies = [ - "time 0.3.19", + "time 0.3.36", ] [[package]] @@ -13723,9 +16088,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.5.7" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] diff --git a/Cargo.toml b/Cargo.toml index 23be2e0909..1ea05861a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -292,7 +292,7 @@ difference = "2.0.0" dirs-next = "2.0.0" dyn-clone = "1.0.8" either = "~1" -elasticsearch = "8.5.0-alpha.1" +elasticsearch = "8.15.0-alpha.1" ethereum-types = "0.9" starcoin-executor-benchmark = { path = "executor/benchmark" } fnv = "1.0.6" @@ -344,33 +344,36 @@ lru = "0.7.8" merkletree = { version = "0.22.1" } mirai-annotations = "1.10.1" +# Aptos VM dependencies +aptos-vm = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } + # Move dependencies -move-binary-format = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-bytecode-source-map = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-bytecode-verifier = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-bytecode-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-cli = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-command-line-common = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-compiler = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-core-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", features = ["address16"] } -move-coverage = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-disassembler = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-docgen = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-errmapgen = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-ir-compiler = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-ir-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-model = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-package = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-prover = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-prover-test-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-resource-viewer = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-stdlib = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-transactional-test-runner = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-unit-test = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", features = ["table-extension"] } -move-vm-runtime = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-vm-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-table-extension = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f"} -move-vm-test-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", features = ["table-extension"] } +move-binary-format = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-bytecode-source-map = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-bytecode-verifier = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-bytecode-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-cli = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-command-line-common = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-compiler = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-core-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6", features = ["address16"] } +move-coverage = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-disassembler = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-docgen = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-errmapgen = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-ir-compiler = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-ir-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-model = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-package = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-prover = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-prover-test-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-resource-viewer = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-stdlib = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-transactional-test-runner = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-unit-test = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6", features = ["table-extension"] } +move-vm-runtime = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-vm-types = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-table-extension = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6" } +move-vm-test-utils = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6", features = ["table-extension"] } names = { version = "0.14.0", default-features = false } network-api = { path = "network/api", package = "network-api" } @@ -538,7 +541,7 @@ unsigned-varint = { version = "0.6.0", features = [ "futures", "asynchronous_codec", ] } -vm = { git = "https://github.com/starcoinorg/aptos-core", rev = "1d3c4ae8225b465ce16650089b831f1df876759f", package = "move-binary-format", features = ["fuzzing"] } +vm = { git = "https://github.com/starcoinorg/aptos-core", rev = "561a0f9f93680b59abc5c5f900fb30d5294b6ad6", package = "move-binary-format", features = ["fuzzing"] } vm-status-translator = { path = "vm/vm-status-translator" } void = "1.0.2" walkdir = "2.3.1" @@ -567,3 +570,8 @@ debug = false #[profile.release.package.cryptonight-rs] #opt-level = 2 + +[patch.crates-io] +x25519-dalek = { git = "https://github.com/aptos-labs/x25519-dalek", branch = "zeroize_v1" } +libp2p = { git = "https://github.com/starcoinorg/rust-libp2p", rev = "892a10116633ad6dd0c2550ce512fba98a525dc7" } +merlin = { git = "https://github.com/aptos-labs/merlin" } diff --git a/executor/Cargo.toml b/executor/Cargo.toml index 524ac0aab1..566b91afeb 100644 --- a/executor/Cargo.toml +++ b/executor/Cargo.toml @@ -11,6 +11,7 @@ starcoin-statedb = { workspace = true } starcoin-force-upgrade = { workspace = true } serde = { workspace = true } bcs-ext = { workspace = true } +aptos-vm = { workspace = true } [dev-dependencies] bcs-ext = { workspace = true } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 480124d715..07e2d0e860 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -2,4 +2,4 @@ # The default profile includes rustc, rust-std, cargo, rust-docs, rustfmt and clippy. # https://rust-lang.github.io/rustup/concepts/profiles.html profile = "default" -channel = "1.78.0" +channel = "1.79.0"