-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Asc message execution - requery message bytecode after each message execution #4710
Merged
Conversation
This file contains 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
modship
approved these changes
Jun 18, 2024
damip
approved these changes
Jun 18, 2024
Leo-Besancon
added a commit
that referenced
this pull request
Jun 18, 2024
…xecution (#4710) * Requery bytecode * cargo fmt
Leo-Besancon
added a commit
that referenced
this pull request
Jul 2, 2024
…xecution (#4710) * Requery bytecode * cargo fmt
Leo-Besancon
added a commit
that referenced
this pull request
Jul 17, 2024
…xecution (#4710) * Requery bytecode * cargo fmt
Leo-Besancon
added a commit
that referenced
this pull request
Aug 1, 2024
* Asc message execution - requery message bytecode after each message execution (#4710) * Requery bytecode * cargo fmt * fix call stack inconsistency (#4709) * Improve async message checks (#4706) * Improve async message checks * Change checks for async messages * Add unit tests * Fix ledger change to take into account cancelled message balance change (#4715) * Take again the speculative changes after async message cancellation * use .apply() to merge the two LedgerChanges * Fix: we cannot combine two ledger changes with apply * avoid cloning the changes * Remove comment * Fix async msg same slot (#4718) * fix open rpc spec (#4716) * Add eliminated_new_messages in eliminated_msg --------- Co-authored-by: Modship <[email protected]> * Consistent expiry period for async message and block operations * Update message validity for expiration * Minor comment fix --------- Co-authored-by: Leo-Besancon <[email protected]> Co-authored-by: Modship <[email protected]>
Leo-Besancon
added a commit
that referenced
this pull request
Oct 16, 2024
* Asc message execution - requery message bytecode after each message execution (#4710) * Requery bytecode * cargo fmt * fix call stack inconsistency (#4709) * Improve async message checks (#4706) * Improve async message checks * Change checks for async messages * Add unit tests * Fix ledger change to take into account cancelled message balance change (#4715) * Take again the speculative changes after async message cancellation * use .apply() to merge the two LedgerChanges * Fix: we cannot combine two ledger changes with apply * avoid cloning the changes * Remove comment * Fix async msg same slot (#4718) * fix open rpc spec (#4716) * Add eliminated_new_messages in eliminated_msg --------- Co-authored-by: Modship <[email protected]> * Add initial code for recursion limit * Latest runtime * Run CI on PRs based on mainnet_2_3 * fmt * Fix config and add UTs * Update scenarios_mandatories.rs * Review comments (CI for all branches starting with "mainnet_" + comment) * Update ci.yml * Remove manual increment / decrement in interface implementation * fmt + update sc_runtime + fix warning * Update test * Update constants.rs * Updated execution config for tests * Updated usize -> u16 for recursion counter and limits * Update test comments * Add comments regarding the needs of this limits * Update sc-runtime branch --------- Co-authored-by: Modship <[email protected]>
Leo-Besancon
added a commit
that referenced
this pull request
Jan 23, 2025
* Asc message execution - requery message bytecode after each message execution (#4710) * Requery bytecode * cargo fmt * Create MIP "MIP-0001-ASC-BugFix" * Add versioning to asc execution context * Asc message execution - requery message bytecode after each message execution (#4710) * Requery bytecode * cargo fmt * Improve versioning * fmt * Update ci.yml * Add ledger changes versioning * Add runtime module versioning * Add send_message versioning * Add address category versioning * Add Fix eliminated msg versioning * add versioning test-exports mip * fmt * Add ledger delete_entry versioning * Add versioning for Consistent expiry period * Update speculative_async_pool.rs * Add versioning to fees fix * Add versioning for Fix amount remaining to slash 2 * Add versioning for LedgerChanges::Delete * cargo fmt + check pass * Add Condom Middleware versioning * fmt * Add versioning to max_recursive_calls_depth * Fix deadlock * Add versioning to Fix potential ledger keys boundaries issue * Add versioning to gas costs * Add versioning to Add additional verification for v & s value in evm_signature_verify * Update runtime dep * Add comment relative to versioning of Update executed denunciations in StateChanges.apply method * Add versioning to Limit event msg size & event number per operation * Fix versioning for interface implementation tests * Fix test for max_event size * Add versioning to Early set operation id * Review comment: propagate error message and better match * Review comment: clean out match * Review comment: Add helper function to query versioned condom_limits in context * Add comment * Add dummy info for MIP_info * Change .unwrap() to .expect() for get_block_timestamp * Disable deferred calls abi if exec_comp = 0 * deferred calls const gas cost * Add versioning for fix async message updates and add unit test * Api : deferred call endpoint versioning * Metrics: add network version metrics * fix empty help msg * Rollback deferred calls abi bail * update runtime * Allow transfers to SC addresses (#4789) * Allow transfers to SC * Add unit test for 4 scenarios * Add versioning to Allow transfers to SC addresses * Use coherent PublicKeyFormat in parse_slice (#4783) * Fix incorrect address hashing + add TU for evm_get_address_from_pubkey (#4785) * Add versioning to Use coherent PublicKeyFormat in parse_slice * Add versioning for Fix incorrect address hashing * cargo fmt + check * Add versioning to massa event cache * Fix versioning of massa event cache * Reset cache if version becomes active (#4791) * Reset cache if version becomes active * add &mut + cargo fmt * Update massa-execution-worker/src/execution.rs Co-authored-by: Modship <[email protected]> * Update execution.rs * Update hd_cache.rs * Avoid taking a lock * Rename + add info!() on cache reset --------- Co-authored-by: Modship <[email protected]> * In HD DB reset(), Do not panic if fails to destroy HD cache * Fix async message execution order in slot with no active version (#4799) * Update the order of execution of async msg in slot * Remove debug print * current_mip_version to get_status (#4803) * Fix versioned TU * metrics block version (#4832) * add metric for current_active_version * Metrics : remove counter for version 0 when current ver > 0 --------- Co-authored-by: modship <[email protected]> Co-authored-by: Sydhds <[email protected]>
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.
Sandbox testing has shown this fixes the issue of two async message in the same slot, where the 1st updates the bytecode of the target contract.
Before this fix, if the 1st async message updates the bytecode, then the second async message will take into account an out of date bytecode for the target address.
resync_check
flag