Open
Conversation
4a034ca to
42019bc
Compare
* Attempt to address merge conflicts releated to automation feature * Addressed review comments * Added missing module_metadata.rs file * Preserved default feature list from dev branch * Addressed errors in transaction_validation.move * Issue/fix building issue on upgrade (#315) * [Compiler] Fix issue of return signature of borrow of tuple not caught during type checking (aptos-labs#16768) * [rosetta] Add module events for parsing (aptos-labs#16766) * [cli] Update paths for CLIs to be updated (aptos-labs#16784) I removed logic for OpenSSL v1. It's been deprecated for a while now. * [rosetta] Add support for aptos_account::transfer_fungible_assets (aptos-labs#16311) * [replay-verify][hack] split heavy ranges (aptos-labs#16653) * replay-verify: print mismatches as found. also enlarge timeout to allow pods finish on mismatch * smaller range * timeout * print verify timeout message * More memory and split heavy ranges --------- Co-authored-by: Balaji Arun <balaji@aptoslabs.com> * [gitignore] gha auth (aptos-labs#16769) * [cli] Update CLI build script to run with SH, and more platforms (aptos-labs#16739) * [cli] Update CLI build script to run with SH, and more platforms * [cli] fix emerge support * [cli] Add cargo install script for specific versions * BlockSTMv2 PR [3/n]: executor refactors for integration preparation (aptos-labs#16734) * Early refactors (structure / executor) for BlockSTMv2 * Addressing comments * Update Docker images * [Prover] code refactor for bitwise operation analysis (aptos-labs#16785) * improve error message * refactor code * [migration] optimize for CoinStore<String> (aptos-labs#16660) * remove generic parameter for ActiveVestingContractAbortsIf as it overrides the VestingContract type (aptos-labs#16054) * [Priority Fee] Move some BlockEpilogue logic into executor. (aptos-labs#16760) * [pipeline] impl Drop to ensure futures are properly gc'ed Ends up cleaning the PipelineBlock to make sure it's only shared with Arc instead of cloning, so we can abort the pipeline upon drop. * Add fill_id and halt event functionality (aptos-labs#16748) * [refactoring] Remove display for tags (aptos-labs#16747) - Display implementation of tags is removed - `to_canonical_string()` should be used instead - Fixes conversion of function tags to strings * [tests] Add tests for Any and function values (aptos-labs#16790) * [forge] bump deployer version (aptos-labs#16212) Co-authored-by: rustielin <12578616+rustielin@users.noreply.github.com> * [gas] bump gas version to v1.32 (aptos-labs#16831) * [vm] Support gas meter in native functions (aptos-labs#16774) * [vm] Visibility checks refactoring and tests (aptos-labs#16799) * bump release version (aptos-labs#16788) * Get data to exchange ID->value from local captured reads (aptos-labs#16176) * [Transaction Filter] Add AccountAddress filtering support. * [Transaction Filter] Add AnyPublicKey filtering support. * [Transaction Filter] Add simple tests for account filtering. * [Transaction Filter] Add simple tests for public key filtering. * [tests][compiler-v2] add tests for enum and function values (aptos-labs#16824) * add unit tests * add e2e test * refactor * Graceful when concurrent FA disabled (aptos-labs#16756) Co-authored-by: Igor <igor-aptos@users.noreply.github.com> * Remove Sync trait bound from ExecutorTask * [cli] Upgrade windows builds to 2025 (aptos-labs#16842) Windows 2025 has winget pre-installed which will speed up builds and reduce random failures due to winget issues * Allow selecting the cluster for forge-continuous-land-blocking * [Gas] Bump gas version to v1.33 * update localnet indexer (aptos-labs#16847) * [cli] Release 7.5.0 (aptos-labs#16853) * add nft testing txns (aptos-labs#16193) * BlockSTMv2 PR [4/n]: Revamped combinatorial concurrent testing, cover code cache (aptos-labs#16738) * Revamped concurrent combinatorial testing. new code cache tests * Address comments * [consensus] optimistic proposal core implementation (aptos-labs#16126) Co-authored-by: Balaji Arun <balaji@aptoslabs.com> * [Priority Fee] Add new types. (aptos-labs#16804) * [forge] bump deployer version (aptos-labs#16835) Co-authored-by: rustielin <12578616+rustielin@users.noreply.github.com> * [runs-on] use large disk for all workflows with runs-on/cache for docker (aptos-labs#16870) ## Description <!-- Please include a summary of the change, including which issue it fixes or what feature it adds. Include relevant motivation, context and documentation as appropriate. List dependencies that are required for this change, if any. --> Upgraded runs-on controller. Now we specify disk size via `disk=...` ## How Has This Been Tested? <!-- - Please ensure that the functionality introduced by this change is well tested and verified to work as expected. - Ensure tests cover both happy and unhappy paths. - List and link relevant tests. --> Workflows ## Key Areas to Review <!-- - Identify any critical parts of the code that require special attention or understanding. Explain why these parts are crucial to the functionality or architecture of the project. - Point out any areas where complex logic has been implemented. Provide a brief explanation of the logic and your approach to make it easier for reviewers to follow. - Highlight any areas where you are particularly concerned or unsure about the code's impact on the change. This can include potential performance or security issues, or compatibility with existing features. --> ## Type of Change - [ ] New feature - [ ] Bug fix - [ ] Breaking change - [ ] Performance improvement - [ ] Refactoring - [ ] Dependency update - [ ] Documentation update - [x] Tests ## Which Components or Systems Does This Change Impact? - [ ] Validator Node - [ ] Full Node (API, Indexer, etc.) - [ ] Move/Aptos Virtual Machine - [ ] Aptos Framework - [ ] Aptos CLI/SDK - [x] Developer Infrastructure - [ ] Move Compiler - [ ] Other (specify) ## Checklist - [x] I have read and followed the [CONTRIBUTING](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) doc - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I identified and added all stakeholders and component owners affected by this change as reviewers - [x] I tested both happy and unhappy path of the functionality - [x] I have made corresponding changes to the documentation <!-- Thank you for your contribution! --> * [replay-verify] fix mainnet replay verify (aptos-labs#16803) * [Priority Fee] Rewrite the logic to handle retry and discard transactions. (aptos-labs#16876) * [Transaction Filter] Refactor filter into separate crate. * [Transaction Filter] Add mempool filtering support. * Init experimental confidential asset module at genesis (aptos-labs#16869) * Init experimental confidential asset module at genesis * fmt * rename * dedupe * Reducing the expected block execution time limits (aptos-labs#16837) * enable comparison operations, lt/le/gt/ge, on non-integer types (aptos-labs#16812) * Add get_pending_balance_transfer_count view func (aptos-labs#16743) * add get_pending_balance_transfer_count view func * update funcdoc * Add move doc * [pipeline] default to use pipeline and cleanup all old code * [compiler-v2] Clarify internal compliler error messages (aptos-labs#16819) * disable set_originating_address (aptos-labs#16900) * [Priority Fee] Generate and handle new BlockEpilogue payload. (aptos-labs#16822) * Fix typos: addresss -> address, iteratable -> iterable, continously -> continuously (aptos-labs#16477) * Update config_template.yaml * Update state.rs * Update README.md * [consensus] relax write option for rocksdb * [counters] adding/fixing batch counters (aptos-labs#16897) * fix batch counters * cmt * Fix error message in account.move (aptos-labs#16909) * [consensus] Break round manager tests to sub modules (aptos-labs#16890) * [vm] Remove captured layout compatibility check for closures (aptos-labs#16791) * [lazy-loading] Loader traits, type depth calculations (aptos-labs#16459) * Make sponsored txns work again (aptos-labs#16912) * Increase mempool to block creation latency threshold for forge (aptos-labs#16924) * [Storage] Prepare PersistedAuxiliaryInfo for storage commit. (aptos-labs#16888) * add compiler tests and transactional tests for using function values as keys for storage (aptos-labs#16878) * remove redundant comment in test case (aptos-labs#16929) * [Storage] Format code under db/include. (aptos-labs#16935) * [Storage] Store persisted auxiliary info. (aptos-labs#16930) * add native cmp (aptos-labs#16882) * [Storage] Fix calculation and add tests. (aptos-labs#16936) * [Orderbook] Various changes to orderbook APIs (aptos-labs#16916) * [vm] Fix function value tags (aptos-labs#16932) * Increase mempool to block creation latency threshold for forge (aptos-labs#16931) * [consensus] support skip sig verify mode for local safety-rules [consensus] parallel sig verify * [consensus] parallelize sig verify * [consensus] tune target block time * [hot state] make hot state a linked list This changes make the items inside the current hot state form a doubly linked list, backed by a key value map. This way we will able to view the LRU from the speculative state. * fixing a bug in decompiling nested loops (aptos-labs#16908) * test cases for using fun values as table keys (aptos-labs#16925) * [compiler-v2] More tests (aptos-labs#16818) * [Forge] Increase fallback threshold for failures. * update test case results (aptos-labs#16948) * Update to 7.6.0 (aptos-labs#16928) * [Storage] Enable AIP-97 by default. (aptos-labs#16875) * Update dashmap to 6.1.0 Supposed to be a bit faster: https://github.com/xacrimon/dashmap/releases/tag/v6.0.0 * Pruning transaction summaries only in ledger db (aptos-labs#16958) * [prover][spec] add spec to ordered_map and big_ordered_map (aptos-labs#16886) * add native cmp * add spec * fix spec * [vm][bytecode-verifier][trivial] Use captured count (aptos-labs#16940) * OrderBook adjustments and cleanup (aptos-labs#16942) * order book cleanup * enums for order_status and time_in_force --------- Co-authored-by: Igor <igor-aptos@users.noreply.github.com> * [Quorum Store] Add txn filtering to batch message handling. * [Priority Fee] Call VM to execute BlockEpilogue txn. (aptos-labs#16906) * BlockSTMv2 PR [4.5/n] Upgrade DashMap, equivalent for resource groups (aptos-labs#16522) * Upgrade DashMap, use equivalent for resource groups * Get rid of KeyKind, optimize TxnLastInputOutput interfaces * Execution Benchmark: Calibrate and run on c3d machine by default. (aptos-labs#16957) * [execution] calibration * [gha] use c3d for execution benchmark * [vm] [bytecode-verifier] Fix instantiation loop verifier (aptos-labs#16968) * [Priority Fee] Implement contract for storing and distributing fee. (aptos-labs#16773) * BlockSTMv2 PR [5/n]: Resource MV map preparation: tracking dependencies, push invalidation (aptos-labs#16783) * Multi-version map refactoring to prepare for BlockSTMv2 * [vm] Gas charge for PackClosure instructions (aptos-labs#16969) * [vm] Gas charge for PackClosure instructions Logic for charging gas when packing closures, as well as new gas parameters. * Addressing reviewer comments * Addressing reviewer comments. * Fixing AbstractValueSizeGasParams key dup error * [hot state] add eviction write op This change adds the new `Eviction` write op. It's not used yet. * [compiler-v2] Script functions cannot be called from Move code (aptos-labs#16953) * [compiler-v2] Fix scoping issues with lambda lifting (aptos-labs#16965) * [tests] Vector assignability tests (aptos-labs#16828) * [vm] Function values always have module ID (aptos-labs#16978) * [lazy-loading] Propagate context to check at serialization time (aptos-labs#16576) - Function values cannot capture aggregators: added a special error code - Layouts for storable closures constructed at pack time * [Priority Fee] Put priority fee flags into default list. (aptos-labs#16979) * [Storage] Disable pre-commit for fullnodes. * [API] Removing TODO for fat types (aptos-labs#16984) * [vm] [bytecode-verifier] More limits checking in the bytecode verifier (aptos-labs#16982) * [consensus][opt-proposal] add new and fix existing round manager tests (aptos-labs#16772) * fix existing tests for opt proposal * opt proposal tests * [Compiler] Patch issue where prover doesn't handle package visibility properly during filter mode (aptos-labs#16980) * [Priority Fee] Fix the condition to trigger BlockEpilogue txn generation in parallel execution. (aptos-labs#16994) * [Transaction Filters] Move filtering logic into single crate * [Transaction Filters] Add unit tests to filter types. * [Transaction Filters] Add config entry and tests. * [Transaction Filters] Adopt new filter types. * [Transaction Filters] Add author to block transaction filter. * [compiler-v2] Fix bug in total order sorting of error/warnings (aptos-labs#16996) * [vm] VM value depth checks (bounded recursion) (aptos-labs#16983) * [Orderbook] Add support for market order (aptos-labs#16934) * Update mod.rs (aptos-labs#17002) * Make view function error messages nice (aptos-labs#16698) * Make error response for view functions include details * remove ser deser * add some doc * Dedupe code and rename enum arm * set limit to num multikey to 32 (aptos-labs#17006) * [api] Fix fat type conversion for function values with refs (aptos-labs#17004) Co-authored-by: Wolfgang Grieskamp <wg@aptoslabs.com> * [consensus] Opt Proposal Perf tuning (aptos-labs#16846) * BlockSTMv2 PR [6/n]: Executor flow w. resources & tests (aptos-labs#16893) * BlockSTMv2 PR [6/n] Executor flow w. resource integration & tests * Refactor placeholder OrderIdType (aptos-labs#16990) * order id change * addressing some comments/cleanups --------- Co-authored-by: Igor <igor-aptos@users.noreply.github.com> * [Orderbook] Add support for client order id to the orderbook APIs (aptos-labs#16966) * [proptest/fuzzer] FVs serialize/deserialize (aptos-labs#16859) * - Refactored fuzzing targets to utilize new serialization methods and maintain consistency in error handling. - Enhanced mock implementations for testing and serialization in `function_values_impl.rs` and related test files. - Update dependencies in Cargo.lock * small fix * Update golden outputs after upgrading prop-test * Refactor ClosureMask impl to return Result for error handling. * fmt * Update third_party/move/move-core/types/src/function.rs Co-authored-by: Vineeth Kashyap <vineeth.rv@gmail.com> * Add module replacement functionality and improve fuzzing tests - Updated fuzzing tests to handle deserialization errors more robustly, ensuring that only malformed modules are rejected. - Refactored value property tests to improve variant handling in struct layouts. - Enhanced error reporting in the lambda lifter for better debugging of compiler issues. - Implemented `replace_module` method in `BuiltPackage` to allow replacing a module by name with a new `CompiledModule`. * Fix conversion(?) * Minor fixes --------- Co-authored-by: Vineeth Kashyap <vineeth.rv@gmail.com> * [vm] Depth checks error feature-gating (aptos-labs#17018) * [vm][tests] Runtime visibility checks for pack closure (aptos-labs#17017) * fix issues; support closure (aptos-labs#16955) * [hot state] Allow getting LRU entry from HotStateView This change adds a new method `get_lru_entry` on `HotStateView` to allow the caller to retrieve the LRU entry from hot state. * [storage] Improve delegate_read macro The existing implementation does not work for ``` fn name( &self, ) -> ReturnType; ``` with a single extra comma after `&self`. * [consensus] enable baby raptr by default (aptos-labs#16989) * [compiler-v2] Fix cyclic instantiation checker to consider function types (aptos-labs#16993) * [trivial] multi-package publish for txn generator (aptos-labs#17023) * multi-package publish for txn generator * split differently * fix * replacement * fixes --------- Co-authored-by: Igor <igor-aptos@users.noreply.github.com> * [compiler-v2] Forbid function types with key (aptos-labs#16991) * [compiler-v2] Add a test comaring resolved and unresolved function values (aptos-labs#16988) * token v1 offer test txns (aptos-labs#17022) * Increase mempool to block creation threshold further (aptos-labs#17027) * [vm] [bytecode-verifier] Function type limit fix (aptos-labs#17028) * [compiler-v2] Fix a bug when we both pass a variable and its reference as arguments (aptos-labs#17026) * Upgrade lru to latest version The old versions we are currently using do not implement `Clone`, which makes it inconvenient to use in tests. * [Orderbook] Fix the remaining size when taker order is cancelled (aptos-labs#17031) * missing methods (aptos-labs#17033) Co-authored-by: Igor <igor-aptos@users.noreply.github.com> * [storage] StateKey::get_shard_id should return usize Returning `usize` seems to eliminate unnecessary type conversion in a bunch of places and simplify the code a bit. * [release-builder] generate metadata under versioned dir (aptos-labs#17043) * [consensus] Enable Opt Proposal and increase execution target time (aptos-labs#17034) * Format aptos-experimental using aptos move fmt (aptos-labs#17038) * [Priority Fee] Fix some issues in parallel execution and add some tests. * Stack usage verifier early exit on error (aptos-labs#17045) * Handle the unlikely case of overall_push overflow * fmt * [api] Addressing function value todos (aptos-labs#17047) * [Storage] Add a tool for printing raw ledger db content. (aptos-labs#17029) * [replay-verify] support for creating DBs during replay verify (aptos-labs#17013) * [decompiler]: fix issues in control flow optimizations (aptos-labs#17021) * [Storage Service] Add new request types for txn V2 data. * [storage] Split hot state into 16 shards The writes (`StateUpdateRef`s) have already been split into shards. We also intend to store hot state as 16 shards in persistent storage. So it's more convenient (and eventually more performant) to make the in-memory representation 16 shards as well. Right now the max size of each shard is the old max size / 16, but we might tweak this in the future. * [bugfix] add timeout to replay verify (aptos-labs#17072) * [Transaction Filter] Extend filtering support. * [Transaction Filtering] Add round manager tests. * Run replay-verify on C3D instead of T2D Adjust resource requests to max out a c3d-standard-30. * Split replay-verify workflow in two Separate testnet from mainnet and leave 6 hours between the runs, to avoid a peak of nearly 5k cores used when both runin parallel. * ci: bump setup-node to v4 * [aptos-cli] stabilize build from source for brew * quote separately the package/package_manager * [move] Move assembler basic functionality (aptos-labs#16631) * [move] Move assembler basic functionality This gets us going on the basic functionality of the new Move assembler. It consumes files of the form `foo.masm` to produce Move bytecode. See the tests for examples. Note this currently does not implement struct definition related ops which will be added later. This PR also provides a new abstraction for building a module via `module_builder`, closing a long known gap about more streamlined generation of Move bytecode. We can move this module out of the assembler if it turns out to be useful. * Addressing reviewer comments. * Adding replay protection type option in Move CLI (aptos-labs#16809) * [release] Bump gas following v1.33 devnet cut * [move-asm] Integration into transactional test framework (aptos-labs#17063) * [move-asm] Integration into transactional test framework This connects the transactional test runner to the assembler. The existing tests have been modified to use this integration, as well as some specific tests added. Scripts are now fully supported and smaller bugfixes are done. * Addressing reviewer comments * Addressing reviewer comments * [Storage Service] Add new response types for txn V2 data. * [Storage Service] Update tests for transaction v2 requests. * Adjust resources for replay-verify Remove resource limit to allow getting as much as possible if available on the instance. Schedule on a dedicated node pool, and oversubscribe each instance to take advantage of running without limits. Increase the replay parallelism to be higher than core count. Remove some noisy logging that caused the Github UI to freeze. * Implemented assert_const linter. (aptos-labs#16776) assert_const flags assert!(true) and assert!(false) and suggests replacements. ... * Increase max layout default size from 256 to 512 (aptos-labs#17083) * [hot state] Put lru pointers inside StateSlot The type of the speculative state is `Map<StateKey, StateSlot>`, having these pointers inside `StateSlot` means that we do not need to change the current type of the speculative state, or create a separate speculative state. * upgrade indexer cli (aptos-labs#17089) * [hot state] StateView APIs Adding a few APIs that will be used later. * [hot state] Implement new StateView APIs for CachedStateView Implement a few new StateView APIs added in the previous commit for `CachedStateView`. * [hot state] LRU updater for speculative state This change implements an LRU updater that is similar to https://github.com/aptos-labs/aptos-core/blob/dd326acc00b5bd1d7e2fc45d5e36e90934a76fdc/storage/aptosdb/src/state_store/hot_state.rs#L286 The main difference is that this one works on speculative state. For example, given the entire committed hot state (`committed`), and some blocks that have been speculatively executed (`overlay`), this updater is able to compute the new LRU entries when another block is added to the top. The other one will later be deleted, because we have already computed the updates to the LRU entries here, and `aptosdb/src/state_store/hot_state.rs` just need to take and apply the updates instead of computing them again. * Use std::array::from_fn to construct arrays when possible * add native (aptos-labs#17036) * [replay-verify] Try PD-BALANCED instead of PD-SSD * [move-asm] Struct and enum related features (aptos-labs#17077) * [move-asm] Struct and enum related features This implements declaration of structs and enums as well as the related bytecodes, and completes most of the assembler functionality. There are still things missing (like string constants for byte vectors) but otherwise should be fairly complete, or can be easily extended self-service style. * Addressing reviewer comments. * [pipeline] properly wait for spawn_blocking futures * Block executor refactors and V2 comments addressed (aptos-labs#17057) * BlockSTMv2 PR [7/n]: Group MVHashMap changes, integration, tests (aptos-labs#16899) * [forge] bump deployer version * Fix incorrect read summary computation While debugging the low hot state hit rate issue in devnet, I found that the set of keys read reported from the VM is often much smaller than the set of keys computed in `CachedStateView` (basically [memorized](https://github.com/aptos-labs/aptos-core/blob/66bef0fa48390d98f409f458b4379b4cadce03c8/storage/storage-interface/src/state_store/state_view/cached_state_view.rs#L105-L106)). After more digging, it turns out that the code actually reports the writes as reads... With this change, the number of keys read from each transaction looks much more reasonable now. * [benchmark] Refactor benchmark workloads (aptos-labs#16841) - Introduce new flow to create binaries - Deprecate existing flow for string modules as Vec<u8> * [move-asm] Disassembler for new Move Assembler Language (aptos-labs#17091) * [move-asm] Disassembler for new Move Assembler Language This adds a disassembler for the .masm format. This is for now integrated into txn tests by calling an approprivate entry point into the test framework (see `testsuite.rs`), causing those tests to print the new format instead of the legacy Move disassembler. All existing move-asm tests use the new output format. The output has been manually inspected but not yet formally via roundtripping. * Fixing tests * [Storage/State Sync] Update storage interface to return the V2 variants for state sync and backup. (aptos-labs#17103) * [Orderbook] Add support for pre-cancellation of the order based on client order id (aptos-labs#17012) * Reduce resources for Forge runners Looking at the last 30 days of Forge, the runners maxed out at around 8 cores and 14G RAM, so reduce the minimum request and eliminate limits, to allow runners to burst if necessary. * [Storage Client] Refactor request creation. * [Aptos Data Client] Add support for transaction v2. * [Aptos Data Client] Add tests for request v2. * Fix ordered_map::append_impl (aptos-labs#17070) * [move-asm] Completing assembler/disassembler functionality (aptos-labs#17106) * [move-asm] Completing assembler/disassembler functionality This adds a few features which have been omitted until now, and should make the assembler code complete: - Full support for `ld_const` - Attributes of functions - Module friend declarations * Addressing reviewer comments * [Orderbook] Add support for modifying order metadata and add in events (aptos-labs#17097) * WriteSet needs to contain both value and hotness `WriteSet` was previously changed to an enum of `Value` and `Hotness`. The block epilogue would generate `Hotness` only. However, after recent changes, it's possible for the epilogue to generate both `Value` (from priority fee implementation) and `Hotness` (from hot state promotions). So this change makes `WriteSet` a struct instead. For serialization, it's still value-only. * [function values] Mark language version 2.2 to be stable and bytecode version 8 the default (aptos-labs#17116) This configures 2.2 which enables function values to be stable on compiler side, allowing people to submit to chain without errors or warnings. Also, the bytecode version is to have default of VERSION_8. This are all changes on CLI/compiler side and not for node code, which is guarded by according feature flags. * Add watchman config Just installed watchman (`brew install watchman`) and this seems to make commands like `sl status` much faster. Before, it would spend quite some time looking at the `target/` directory. It's especially annoying when rust-analyzer is running and the files inside `target/` are changing. Reference: https://facebook.github.io/watchman/docs/config * [Types] Use helper methods for txn lists. * [Data Streaming Service] Add support for transaction data v2. * [Storage Service] Fix failing tests. * [Storage Service] Allow transaction data v2 requests. * [Storage] Support PersistedAuxiliaryInfo in backup/restore. (aptos-labs#17125) * [Indexer] Do not panic when failed to parse table info. (aptos-labs#17143) * [fuzzer] Bridge transactional tests format and fuzzers (aptos-labs#16715) * Update dependencies and enhance fuzzer functionality - Added a new transaction fuzzer compatible with transactional test format. - Updated `.gitignore` to exclude `test-casr-report/`. - Enhanced `fuzz.sh` to allow for coverage report generation with existing profdata files. - Refactored fuzzer targets to utilize new dependencies and improve code structure. - Introduced functions for generating runnable states from all test sources, including transactional tests and e2e tests. These changes aim to improve the fuzzer's capabilities and streamline the testing process. * Enhance fuzzer data update workflow and improve error handling - Updated the fuzzer data update workflow to download and process both standard and transactional seed corpora. - Added new steps to generate runnable states from e2e tests and transactional tests. - Refactored the handling of transaction execution results to better manage unexpected gas usage scenarios. * remove dead-code * [gas] Increase max dependency size limit (aptos-labs#17150) * abort function name fix in rest api (aptos-labs#17144) * abort function name fix in rest api * printing out instruction as well --------- Co-authored-by: Igor <igor-aptos@users.noreply.github.com> * [Orderbook] Add APIs to support metadata modification by client order id (aptos-labs#17152) * [Orderbook] Add trigger condition to the event (aptos-labs#17162) * Add missed comments * [Orderbook] Add trigger condition to the order event * update * [move-vm] Adding negative FV tests for bytecode and runtime verifier (aptos-labs#17147) * [move-vm] Adding negative FV tests for bytecode and runtime verifier This adds a number of tests (wrong code) which are run in two ways: one with bytecode verifier enabled where expect it to be caught in the verifier, one with bytecode verifier disabled where we expect it to be called by paranoid mode. One bug was discovered this far by this approach, where paranoid mode seems to miss a check (aptos-labs#17137). Also changes the way how the verifier is disabled by using a configuration option. The failpoints used before can't be used with parallel test execution. * Fixing false positive bug aptos-labs#17137 (actually a bug in the tests), cleaning up. * Apply suggestions from code review * Addressing reviewer comments * [move-vm] Fix issue in function value upgrade compatibility, add tests (aptos-labs#17172) * [move-vm] Fix issue in function value upgrade compatibility, add tests Fixes aptos-labs#17171. Also adds more negative tests based on MASM for upgrade checks with function values. * Modify transactional test framework such that compatibility check is disabled in paranoid tests. This allows to check how paranoid mode deals with incompatible upgrades. Notice that the code need to be executed for this, this only effects the test case `compatibility_bug_17171.masm`. * Adding a test for dependency compatibility checking. * Addssing reviewer comments * Feature gating. Also removing some change in txn test runner smuggled accidentally into here. * [move-vm] Some fixes for runtime checks (aptos-labs#17157) * [move-vm] Some fixes for runtime checks - The captured argument types are no checked _before_ the LazyFunction is constructed, which requires to construct layous. Thus a more descriptive error will be produced then failure in layout construction. - Types of returned values of a function are checked explicitly. Before, those types would have been checked at some later point implicitly, when the returned values are used. Moreover, a returned value's type is adjusted to function's declared return type. Though the current behavior isn't wrong, the adjusted behavior is more aligned with what the bytecode verifier does. * Making return type check and replacement a bit more performant by skipping if not a variant types * Update third_party/move/move-vm/runtime/src/interpreter.rs Co-authored-by: Vineeth Kashyap <vineeth.rv@gmail.com> --------- Co-authored-by: Vineeth Kashyap <vineeth.rv@gmail.com> * [lazy-loading] Construct layout via loader (aptos-labs#16461) - Refactor type to layout conversion - Support layout construction using the new loader * [Storage] Fix cross epoch merkle pruner. (aptos-labs#17168) * TransactionStatus: use Self to simplify code * [hot state] Populate hot state promotions This was originally done in aptos-labs#16485. However, subsequent changes (mostly priority fee implementation) undid some of the changes, so while `BlockHotStateOpAccumulator` still computes `slots_to_make_hot`, the result is never populated to the hot state storage. Therefore, the read-only keys are never cached. This change populates the information again by putting it inside `BlockOutput`, and eventually merge it with the epilogue's write set. One tricky thing is that the read write summary can sometimes be inaccurate. For example, occasionally a key is written to, but it's not in the write summary, then the code would generate both a `Modification` op and a `MakeHot` op for the same key. To be defensive, if `Creation`/`Modification`/`Deletion` is followed by `MakeHot` on the same key when computing `BatchedStateUpdateRefs`, we have to discard the `MakeHot`. * [lazy-loading] LoadModule integration (5/n) (aptos-labs#16589) * [lazy-loading] Module metadata integration (aptos-labs#16590) * add plantuml diagram (aptos-labs#17155) * add benchmarks for field ops (aptos-labs#17177) * [staking_contract] add view function to get staker given pool address (aptos-labs#16883) * [staking_contract] add view function to get staker given pool address * Update staking_contract.move * [LocalNode] Enable internal indexer by default. (aptos-labs#17159) * Fix breakpoint matching (aptos-labs#17139) * clear current task on block epilogue (aptos-labs#17186) * [cp][aptos-release-v1.34] [verifier] Check for function signatures (aptos-labs#17256) * [verifier] Check for function signatures (aptos-labs#17210) (cherry picked from commit 3b81823) --------- Co-authored-by: George Mitenkov <georgemitenk0v@gmail.com> * [vm] Verifier cache fixes (aptos-labs#17238) (aptos-labs#17257) (cherry picked from commit d360385) Co-authored-by: George Mitenkov <georgemitenk0v@gmail.com> * [aptos-release-v1.34] Bump version to 1.34.0 (aptos-labs#17260) * [Storage] Fix a bug in pruner, and print more information in debugger. (aptos-labs#17284) (aptos-labs#17286) (cherry picked from commit ae54b1d) Co-authored-by: Guoteng Rao <3603304+grao1991@users.noreply.github.com> * [Storage] Write epoch ending pruner progress to right key. (aptos-labs#17296) (aptos-labs#17298) (cherry picked from commit c9bdfb4) Co-authored-by: Guoteng Rao <3603304+grao1991@users.noreply.github.com> * MultiEd25519: Check signature valid before verifying (aptos-labs#17316) (aptos-labs#17318) (cherry picked from commit 52fad82) Co-authored-by: Balaji Arun <balaji@aptoslabs.com> * [aptos-release-v1.34] Bump version to 1.34.1 (aptos-labs#17340) * Keep the default of sharding flag as off in 1.34. (aptos-labs#17365) * [aptos-release-v1.34] Bump version to 1.34.2 (aptos-labs#17370) Co-authored-by: hariria <31301117+hariria@users.noreply.github.com> * Framework release for 1.34 (aptos-labs#17415) * WIP: added resolved merged files * Attempt to address merge conflicts releated to automation feature * Addressed review comments * [Framework] Resolve merge conflicts in supra framework (#295) * resolve merge conflicts in framework * renaming * address comments * address comments * revert changes to AggregatableCoin * trivial * adapt to supra * rename * address comments * Addressed compiler errors releated to automation feature and more * WIP - Fixing testcase * added new features and also keep our ones and disabled which are not needed * fixed building issues with tests cases * fixed laxy native test * fix tests (#308) * fixed tests regarding language e2e testsuite * Fixes for the integration --------- Co-authored-by: Jake Silverman <JakeRossSilverman@gmail.com> Co-authored-by: Greg Nazario <greg@gnazar.io> Co-authored-by: Alden Hu <msmouse@gmail.com> Co-authored-by: Balaji Arun <balaji@aptoslabs.com> Co-authored-by: Rustie Lin <rustie117@gmail.com> Co-authored-by: Rati Gelashvili <gelash@users.noreply.github.com> Co-authored-by: gedigi <19227040+gedigi@users.noreply.github.com> Co-authored-by: Teng Zhang <rahxephon89@163.com> Co-authored-by: Aaron <lightmark@gmail.com> Co-authored-by: Maksim Kurnikov <maxim.kurnikov@gmail.com> Co-authored-by: Guoteng Rao <3603304+grao1991@users.noreply.github.com> Co-authored-by: Zekun Li <zekunli@Zekuns-MacBook-Pro.local> Co-authored-by: dzlk17 <105115971+dzlk17@users.noreply.github.com> Co-authored-by: George Mitenkov <georgemitenk0v@gmail.com> Co-authored-by: aptos-bot <bots@aptoslabs.com> Co-authored-by: rustielin <12578616+rustielin@users.noreply.github.com> Co-authored-by: Josh Lind <josh.lind@hotmail.com> Co-authored-by: igor-aptos <110557261+igor-aptos@users.noreply.github.com> Co-authored-by: Igor <igor-aptos@users.noreply.github.com> Co-authored-by: Jeeyong Um <conr2d@proton.me> Co-authored-by: Stelian Ionescu <sionescu@cddr.org> Co-authored-by: Yuun Lim <38443641+yuunlimm@users.noreply.github.com> Co-authored-by: Daniel Xiang <66756900+danielxiangzl@users.noreply.github.com> Co-authored-by: Oliver He <heliuchuan@gmail.com> Co-authored-by: Satya Vusirikala <satyasatya123456@gmail.com> Co-authored-by: Jun Xu <5827713+junxzm1990@users.noreply.github.com> Co-authored-by: Vineeth Kashyap <vineeth.rv@gmail.com> Co-authored-by: David Wolinsky <isaac.wolinsky@gmail.com> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: Sital Kedia <sitalkedia@users.noreply.github.com> Co-authored-by: wqfish <1171005+wqfish@users.noreply.github.com> Co-authored-by: Wolfgang Grieskamp <wg@aptoslabs.com> Co-authored-by: Andrea Cappa (zi0Black) <13380579+zi0Black@users.noreply.github.com> Co-authored-by: Renee Tso <8248583+rtso@users.noreply.github.com> Co-authored-by: Stelian Ionescu <stelian@aptoslabs.com> Co-authored-by: eeemmmmmm <stichlila81@gmail.com> Co-authored-by: mkalin1024 <kalinmarinov99@gmail.com> Co-authored-by: Andrew Hariri <hariria@usc.edu> Co-authored-by: Víctor M. González <helios.vmg@gmail.com> Co-authored-by: Zekun Li <zekunli@Mac.localdomain> Co-authored-by: sionescu <192313+sionescu@users.noreply.github.com> Co-authored-by: Ying <ying-w@users.noreply.github.com> Co-authored-by: Alin Tomescu <tomescu.alin@gmail.com> Co-authored-by: runtianz <runtian@aptoslabs.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: hariria <31301117+hariria@users.noreply.github.com> Co-authored-by: Aregnaz Harutyunyan <> Co-authored-by: Zekun Wang <41706692+fEst1ck@users.noreply.github.com> --------- Co-authored-by: Aregnaz Harutyunyan <> Co-authored-by: Dhaval Purohit <d.purohit@supraoracles.com> Co-authored-by: Jake Silverman <JakeRossSilverman@gmail.com> Co-authored-by: Greg Nazario <greg@gnazar.io> Co-authored-by: Alden Hu <msmouse@gmail.com> Co-authored-by: Balaji Arun <balaji@aptoslabs.com> Co-authored-by: Rustie Lin <rustie117@gmail.com> Co-authored-by: Rati Gelashvili <gelash@users.noreply.github.com> Co-authored-by: gedigi <19227040+gedigi@users.noreply.github.com> Co-authored-by: Teng Zhang <rahxephon89@163.com> Co-authored-by: Aaron <lightmark@gmail.com> Co-authored-by: Maksim Kurnikov <maxim.kurnikov@gmail.com> Co-authored-by: Guoteng Rao <3603304+grao1991@users.noreply.github.com> Co-authored-by: Zekun Li <zekunli@Zekuns-MacBook-Pro.local> Co-authored-by: dzlk17 <105115971+dzlk17@users.noreply.github.com> Co-authored-by: George Mitenkov <georgemitenk0v@gmail.com> Co-authored-by: aptos-bot <bots@aptoslabs.com> Co-authored-by: rustielin <12578616+rustielin@users.noreply.github.com> Co-authored-by: Josh Lind <josh.lind@hotmail.com> Co-authored-by: igor-aptos <110557261+igor-aptos@users.noreply.github.com> Co-authored-by: Igor <igor-aptos@users.noreply.github.com> Co-authored-by: Jeeyong Um <conr2d@proton.me> Co-authored-by: Stelian Ionescu <sionescu@cddr.org> Co-authored-by: Yuun Lim <38443641+yuunlimm@users.noreply.github.com> Co-authored-by: Daniel Xiang <66756900+danielxiangzl@users.noreply.github.com> Co-authored-by: Oliver He <heliuchuan@gmail.com> Co-authored-by: Satya Vusirikala <satyasatya123456@gmail.com> Co-authored-by: Jun Xu <5827713+junxzm1990@users.noreply.github.com> Co-authored-by: Vineeth Kashyap <vineeth.rv@gmail.com> Co-authored-by: David Wolinsky <isaac.wolinsky@gmail.com> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: Sital Kedia <sitalkedia@users.noreply.github.com> Co-authored-by: wqfish <1171005+wqfish@users.noreply.github.com> Co-authored-by: Wolfgang Grieskamp <wg@aptoslabs.com> Co-authored-by: Andrea Cappa (zi0Black) <13380579+zi0Black@users.noreply.github.com> Co-authored-by: Renee Tso <8248583+rtso@users.noreply.github.com> Co-authored-by: Stelian Ionescu <stelian@aptoslabs.com> Co-authored-by: eeemmmmmm <stichlila81@gmail.com> Co-authored-by: mkalin1024 <kalinmarinov99@gmail.com> Co-authored-by: Andrew Hariri <hariria@usc.edu> Co-authored-by: Víctor M. González <helios.vmg@gmail.com> Co-authored-by: Zekun Li <zekunli@Mac.localdomain> Co-authored-by: sionescu <192313+sionescu@users.noreply.github.com> Co-authored-by: Ying <ying-w@users.noreply.github.com> Co-authored-by: Alin Tomescu <tomescu.alin@gmail.com> Co-authored-by: runtianz <runtian@aptoslabs.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: hariria <31301117+hariria@users.noreply.github.com> Co-authored-by: Zekun Wang <41706692+fEst1ck@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Below are the PR list that have been merged into this one.