Skip to content
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

Mainnet update MAIN.2.5 #4713

Draft
wants to merge 82 commits into
base: main
Choose a base branch
from
Draft

Mainnet update MAIN.2.5 #4713

wants to merge 82 commits into from

Conversation

Leo-Besancon
Copy link
Collaborator

@Leo-Besancon Leo-Besancon commented Jun 18, 2024

TODO before release:

@Leo-Besancon Leo-Besancon added the blocked Issues that can't be done for now. label Jun 18, 2024
Leo-Besancon and others added 6 commits July 17, 2024 11:40
* Improve async message checks

* Change checks for async messages

* Add unit tests
…ge (#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 open rpc spec (#4716)

* Add eliminated_new_messages in eliminated_msg

---------

Co-authored-by: Modship <[email protected]>
Leo-Besancon and others added 20 commits July 23, 2024 12:05
* 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]>
* fix fees

* Update test_rewards execution test

* Update test with updated reward formula

* Update ci.yml

* revert test change

* Rm dbg and create const value

* fmt

---------

Co-authored-by: Leo-Besancon <[email protected]>
* Fix amount_remaining_to_slash_2 calculation

* Rename slashed_coins and calculation to improve readability

* Fix total_slashed_coins to return value
* Fix bad LedgerChanges::Delete handling

* Avoid too much code duplication

* Update ledger_db.rs

* Fix check
* Use CondomLimits struct
* Apply limits to wasm modules
* Add max_runtime_module_exports
* update runtime and serde_yaml
* Fix outdated UT

---------

Co-authored-by: Leo-Besancon <[email protected]>
Co-authored-by: Jean-François <[email protected]>

Signed-off-by: Jean-François <[email protected]>
* Update rust version to 1.81

* Cargo clippy & fmt pass

* Cargo clippy & fmt pass 2

* Cargo clippy & fmt pass 3

* Remove commented code
* Update actions/checkout to v4

* Use dtolnay rust action instead of deprecated action-rs

* Use dtolnay rust action (2)

* Use dtolnay rust action (3)

* Update JamesIves action for ci doc
* Add typos config file

* Fix typo errors

* Add typos to github CI

* Cargo fmt pass

* More typo fixes
* Fix SlotIndexPosition from Future to Past in case slots_since returns an error

* Update ci.yml
…nciations (#4735)

* Improve handling of HistorySearchResult

* Fix CI
* Update ASC trigger comment

* Add comment for ledger entry deletions

* fmt
…4744)

      * Fix join error message (was inconsistent with: VM controller thread)

* Cargo fmt pass
modship and others added 26 commits December 13, 2024 09:23
* Allow transfers to SC

* Add unit test for 4 scenarios
* Add massa event cache crate

* Add event cache controller into massa execution

* Cargo fmt

* Add event cache config in masa-node

* Minor fixes

* Cargo clippy fixes

* Cargo clippy fixes

* Add limits & security checks

* Add controller + manager

* Cargo fmt pass

* Fix check/clippy with --all-targets

* Better event cache clear at startup && better filtering

* Rename to config to max_call_stack_length

* Improve event cache filtering

* Avoid lock contention in controller::get_filtered_sc_output_events

* Improve comment

* Add query limit

* Add tick delay in event cache writer thread

* Use per address / operation id / is_error counters

* Cargo fmt

* typos fixes

* Cargo clippy fixes for tests

* Cargo fmt

* Add mock expectations + impl

* Cargo clippy for TU fixes

* Use MAX_EVENT_PER_OPERATION constant

* Unit test the filter optimisations

* Add more doc

* Cargo clippy fixes

* Use ..Default::default in TU

* Cargo clippy fix

* Use scope

* Use scope 2

* Remove tick_delay + directly mem::take struct

* Add tu for counter removal

* Add KeyKind in KeyBuilder

* Wait for condvar in wait_loop_event

* Removed unused lib

* Condvar wait fix

* Truncate event message in case of error
* fetch_message now returns NoInfo if message_id cannot be found

* Add not for returning HistorySearchResult::Present
* Update entry_count value

* Reset db instead of panic

* Fix deferred_call_changes in active history + fmt

* Always reset DB cache on new ModuleCache
* Update bootstrap timeouts

* Fix typos
* Remove StateChanges::apply moethod

* typos fixes
* Add TU for delete_datastore_entries function

* Cargo clippy fix
* Add send_message_then_reset_bytecode TU

* Code cleanup

* Minor updates

* Update address for sandbox mode
* FinalState(is_db_valid): add check for deferred calls keys

* fix address deserialization

* Fix: use Slot::from_bytes_key instead of SlotDeserializer

---------

Co-authored-by: Leo-Besancon <[email protected]>
* Improve unit test for delete_datastore_entries

* Cargo clippy fixes

* Use end_prefix in get_entire_datastore_raw
* Update event_cache.rs

* Add comment on unwrap_or(0) and unit test

* fix typo

* clippy fixes
modship and others added 3 commits January 20, 2025 14:38
* 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
Labels
blocked Issues that can't be done for now. MAIN.2.5
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants